簡體   English   中英

如何在Rails3中實現“記住我”功能

[英]How to implement remember me feature in rails3

如何在Rails中實現“記住我”功能。 我正在使用authologic gem我的UserSession控制器的代碼是:

請給我建議如何實施,並以任何參考方式記住我。 我嘗試使用此代碼,但無法實現。

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