Skip to content

Instantly share code, notes, and snippets.

@teamon
Created October 27, 2008 22:22
Show Gist options
  • Save teamon/20218 to your computer and use it in GitHub Desktop.
Save teamon/20218 to your computer and use it in GitHub Desktop.
# This file is specifically setup for use with the merb-auth plugin.
# This file should be used to setup and configure your authentication stack.
# It is not required and may safely be deleted.
#
# To change the parameter names for the password or login field you may set either of these two options
#
# Merb::Plugins.config[:"merb-auth"][:login_param] = :email
# Merb::Plugins.config[:"merb-auth"][:password_param] = :my_password_field_name
begin
# Sets the default class ofr authentication. This is primarily used for
# Plugins and the default strategies
Merb::Authentication.user_class = User
# Mixin the salted user mixin
# require 'merb-auth-more/mixins/salted_user' # added manually before class User so it is included in children classes
# (Merb::Authentication.user_class.descendants + [Merb::Authentication.user_class]).each {|c| c.class_eval{ include Merb::Authentication::Mixins::SaltedUser } }
# Setup the session serialization
class Merb::Authentication
def fetch_user(session_user_id)
Merb::Authentication.user_class.get(session_user_id)
end
def store_user(user)
user.nil? ? user : user.id
end
end
rescue
Merb.logger.error <<-TEXT
You need to setup some kind of user class with merb-auth.
Merb::Authentication.user_class = User
If you want to fully customize your authentication you should use merb-core directly.
See lib/authentication/setup.rb and strategies.rb to customize your setup
TEXT
end
# This file is specifically for you to define your strategies
#
# You should declare you strategies directly and/or use
# Merb::Authentication.activate!(:label_of_strategy)
#
# To load and set the order of strategy processing
Merb::Slices::config[:"merb-auth-slice-password"][:no_default_strategies] = true
Merb::Authentication.activate!(:default_password_form)
Merb::Authentication.activate!(:default_basic_auth)
module Merb::Authentication::Strategies
class Company < Basic::Form
def user_class
::Company
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment