2011-07-26 50 views
0

我製作了Padrino應用程序,該應用程序擁有一個用於訪問管理頁面的單一密碼。我正在使用以下幫助程序進行授權。Padrino的未到期會話

# Check if the user is authenticated. 
def authenticated?(opts = {}) 
    if session["cooly"] != options.session_secret 
    redirect url(opts[:send_to] || :login) 
    end 
end 

# Create a new session. 
def authenticate! 
    session["cooly"] ||= 0 
    session["cooly"] = options.session_secret 
end 

現在寫,當我退出瀏覽器時,會話消失,我必須重新登錄。我如何保持會話?

回答

0

答案是使非到期餅乾

# Check if the user is authenticated. 
def authenticated?(opts = {}) 
    if session["cooly"] == options.session_secret || request.cookies["cooly"] == options.session_secret 
    return true 
    else 
    redirect url(opts[:send_to] || :login) 
    end 
end 

# Create a new session. 
def authenticate! 
    session["cooly"] ||= 0 
    session["cooly"] = options.session_secret 

    expiration_date = 10.year.from_now 

    response.set_cookie('cooly', :value => options.session_secret, :expires => expiration_date) 
end 
1

確保你有你的應用程序session_secret

set :session_secret, 'fc29ce0f33f0c8cde13f3'