Frage

Für mein letztes Projekt verwende ich https://github.com/hassox/rails_warden. Es passt sehr gut zu meinen Bedürfnissen, außer dass ich keinen guten Weg finden kann, um remm_me zu implementieren. Ich weiß, dass es notorisch schwierig ist, sich aus Sicherheit zu erinnern, dass es ein Projekt gibt, das den Job erledigt. Hat jemand etwas gesehen oder eine gute Idee bekommen?

War es hilfreich?

Lösung

Entwickeln, was eine Authentifizierungslösung über den Aufseher ist, hat a erinnere sichbar Implementierung.

Andere Tipps

Ok, so habe ich es gelöst

 # User model must have remember_token attribute

 # in config.ru
 use Rack::Cookies
 run MyApp

  # in lib/strategies.rb
  Strategies.add(:cookie) do
    def valid?
      env['rack.cookies']['user.remember.token']      
    end

    def authenticate!
      if user = User.find_by_remember_token(cookies['user.remember.token'])
        success! user
      else
        fail! "Could not log in"
      end
    end
  end

  Manager.after_authentication :scope => :user do |user, auth, opts|
    auth.env['rack.cookies']['user.remember.token'] = user.generate_remember_token! # sets its remember_token attribute to some large random value and returns the value
  end

  Manager.before_logout :scoper => :user do |user, auth, opts|
    user.update_attribute :remember_token, nil
  end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top