Sha256: 54660687257f8da7336a24f4852c90253e3006bea24cc902155a53ac8f69d3a3

Contents?: true

Size: 940 Bytes

Versions: 1

Compression:

Stored size: 940 Bytes

Contents

#!/usr/bin/env rackup -s thin -p 4000
# encoding: utf-8

require_relative "init"

use Rango::Basic

# warden authentication
# wiki.github.com/hassox/warden/setup
require "warden"

use Warden::Manager do |manager|
  manager.default_strategies :password
  # Rango::Controller has class method call which will call Rango::Controller.reroute(action),
  # for example Login.route_to(:login) which will set login action of Login controller as default
  # Internally it just rewrites env["rango.controller"] and env["rango.action"] to "Login", resp. "login"
  manager.failure_app = Login
end

# See also wiki.github.com/hassox/warden/callbacks
Warden::Manager.serialize_into_session { |user| user.id }
Warden::Manager.serialize_from_session { |key| User.get(id) }

# Go to login
Warden::Manager.before_failure do |env, opts|
  Login.route_to env, "login"
end

Warden::Strategies.add(:password) do
  def authenticate!
    User.new # TODO
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rango-0.0.4 stubs/project/content/config.ru