我使用Ruby on Rails的restful_authentication插件。所有似乎都很好,除了看起來用戶會話沒有被創建。我有下面的創建方法。看來self.current_user正在設置,但實際會話永遠不會被創建。何時以及如何定義current_user_session。我有我的應用程序控制器中的方法,但這是它總是失敗的地方。Restful_authentication插件不工作
def create
logout_keeping_session!
user = User.authenticate(params[:login], params[:password])
if user
# Protects against session fixation attacks, causes request forgery
# protection if user resubmits an earlier form using back
# button. Uncomment if you understand the tradeoffs.
# reset_session
self.current_user = user
new_cookie_flag = (params[:remember_me] == "1")
handle_remember_cookie! new_cookie_flag
redirect_back_or_default('/')
flash[:notice] = "Logged in successfully"
else
note_failed_signin
@login = params[:login]
@remember_me = params[:remember_me]
render :action => 'new'
end
末
Application_Controller
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.user
end
UserSession機型爲空
設計實際上是建立在所謂的監獄長另一顆寶石,這是相當真棒在其本身。 – 2010-01-14 14:38:37