Static authentication && authorization in rails
Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec
.gitignore
.rspec
Gemfile
Gemfile.lock
README.rdoc
Rakefile
static_auth.gemspec

README.rdoc

Static Auth

Static authentication && authorization in rails

Installation

Rails3 only Add the following line to your Gemfile:

gem 'static_auth'

Example

models/admin_session.rb

class AdminSession < StaticAuth::Session
  roles :admin, :manager
  password_for :admin, "123456"
  password_for :manager, proc { "123456".reverse }
  set_encryption_method :md5
end

controllers/admin/index_controller.rb

def index
  @session = AdminSession.new(session)
  render :template => @session.authorized? ? "admin/index" : "admin/index/login"
end

def login
  @session = AdminSession.new(session)
  @session.attributes = params[:admin_session]
  @session.save
  if @session.authorized?
    redirect_to admin_path
  else
    render :template => "admin/index/login"
  end
end

def logout
  @session.logout_all
  redirect_to admin_path
end

views/admin/login.html.erb

= form_for @session do |s|
  = s.text_field :role
  = s.text_field :password
  = s.submit "Login"

Setting encryption method

class AdminSession < StaticAuth::Session
  roles :admin, :manager
  password_for :admin, "123456"
  password_for :manager, proc { "123456".reverse }

  # It always receives a string
  encryption_methods[:custom] = proc { |value| MD5::md5(value + "secret salt") }

  set_encryption_method :custom # Default methods: :plain, :md5, :sha1
end

Todo

  1. Salting

  2. BCrypt