当用户登录时,我们将其用户ID存储在会话中.
session[:user_id] = user.id
Run Code Online (Sandbox Code Playgroud)
现在在我们网站的所有其他链接上,我们希望用户重定向 session[:user_id] == nil
我认为它将完成的方式是它将在控制器的每个方法中完成.
def show_customers
if session[:user_id] == nil
redirect_to (:controller => "authentication", :action => "login")
#code related to show_customers goes here
end
Run Code Online (Sandbox Code Playgroud)
但这需要在每个控制器的每个方法中完成.
是否有更理智的Rails'y方式来做到这一点?
小智 5
使用before_filter验证会话是否有效,如果您不想将它放在每个控制器中,请将它放在application_controller中(因为所有控制器都从它继承).您还可以通过覆盖控制器中的方法轻松排除/限制其所要求的操作.
| 归档时间: |
|
| 查看次数: |
2107 次 |
| 最近记录: |