class Warden::Manager

The middleware for Rack Authentication The middlware requires that there is a session upstream The middleware injects an authentication object into the rack environment hash

Attributes

config[RW]

Public Class Methods

new(app, options={}) { |config| ... } click to toggle source

Initialize the middleware. If a block is given, a Warden::Config is yielded so you can properly configure the Warden::Manager. :api: public

# File lib/warden/manager.rb, line 17
def initialize(app, options={})
  default_strategies = options.delete(:default_strategies)

  @app, @config = app, Warden::Config.new(options)
  @config.default_strategies *default_strategies if default_strategies
  yield @config if block_given?
  self
end
serialize_from_session(&block) click to toggle source

Reconstitues the user from the session. Use the results of user_session_key to reconstitue the user from the session on requests after the initial login

Example:

Warden::Manager.serialize_from_session{ |id| User.get(id) }

:api: public

# File lib/warden/manager.rb, line 76
def serialize_from_session(&block)
  Warden::SessionSerializer.send :define_method, :deserialize, &block
end
serialize_into_session(&block) click to toggle source

Prepares the user to serialize into the session. Any object that can be serialized into the session in some way can be used as a "user" object Generally however complex object should not be stored in the session. If possible store only a "key" of the user object that will allow you to reconstitute it.

Example:

Warden::Manager.serialize_into_session{ |user| user.id }

:api: public

# File lib/warden/manager.rb, line 65
def serialize_into_session(&block)
  Warden::SessionSerializer.send :define_method, :serialize, &block
end