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¶ ↑
-
Salting
-
BCrypt