简体   繁体   English

如何在Rails3中实现“记住我”功能

[英]How to implement remember me feature in rails3

How to implement remember me feature in rails. 如何在Rails中实现“记住我”功能。 I am using authologic gem my UserSession controller's code is: 我正在使用authologic gem我的UserSession控制器的代码是:

Please suggest me how to implement remember me with any reference. 请给我建议如何实施,并以任何参考方式记住我。 I have tried with this code but could not implement it. 我尝试使用此代码,但无法实现。

class UserSessionsController < ApplicationController
    before_filter :require_no_user, :only => [:new, :create]
    before_filter :require_user, :only => :destroy
    def new
        @user_session = UserSession.new
    end

    def create
        @user_session = UserSession.new(params[:user_session],true)
        if @user_session.save
            flash[:notice] = "Login successful!"
            unless cookies[:last_visited].nil?
                set_last_visited
            end

            cookies.permanent[:last_visited] = Time.now
            if params[:remember_me]
                user = @user_session.user
            user.update_attributes(:remember_token => create_remember_token)
                cookies[:remember_token] = { :value => user.remember_token, :expires => 24.weeks.from_now }
            end
            redirect_back_or_default users_url(@current_user)
        else
            flash[:error]="invalid login and password"
            render :action => :new
        end
    end

    def destroy
    cookies.delete(:remember_token)
        current_user_session.destroy
        flash[:notice] = "Logout successful!"
        redirect_back_or_default home_path
    end

    private

    def create_remember_token
        SecureRandom.urlsafe_base64
    end

end

你尝试过这种方式吗?

UserSession.create(:login => "yourusername", :password => "yourpassword", :remember_me => true)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM