2010-01-28 104 views
2

我正在使用Authlogic對用戶進行身份驗證。Ruby on Rails:如何在authlogic會話中存儲更多數據

我明白如何創建和使用會話,但想要在由authlogic創建的current_user會話中存儲額外的id變量。

可我只是做這樣的事情:

session[:authlogic_sess_name] = @extra_id.id 

但是,我不知道是什麼authlogic會話雖然命名或如何訪問它。

謝謝!

回答

1

你爲什麼不把這個值存儲在會話中?

session[:extra] = @extra_id.id 

Authlogic current_user只是當前會話中的一個值,由Rails堆棧自身管理。

+0

是的,我現在正在那樣做。我想我只是想知道如何操作和添加東西到current_user對象。但沒有必要。 – djburdick 2010-01-28 16:42:12

0

我同意託比,如果你不需要這個額外的屬性在AuthLogic的UserSession對象,那麼它可能會更簡單的存儲在會話哈希本身的值。

但是在我的具體情況下,也許在你的情況下,我在UserSession記錄上特別需要信息,而不是會話哈希,因爲我想在UserSession模型的回調中訪問它,其中「會話「不可用。

下面是描述如何存儲附加屬性上UserSession舊的博客文章: http://railsblog.kieser.net/2010/03/authlogic-custom-logins-and-persisting.html

編輯:我沒有用這種方法我自己的運氣。爲了完成會話散列所需的信息,我將該邏輯放在控制器中而不是模型中。

AuthLogic實際上有一些執行控制器方法的回調。例如,AuthLogic會調用last_request_update_allowed?如果您的控制器在設置last_request_at之前對此作出響應。

相關問題