And*_*rew 5 redirect ruby-on-rails request applicationcontroller ruby-on-rails-3
我想在我的应用程序控制器中使用一个简单的方法,它要求所有用户在继续访问站点的任何部分之前登录.我正在使用Devise进行身份验证.
我试过了:
class ApplicationController < ActionController::Base
...
unless user_signed_in?
redirect_to login_path
end
...
end
Run Code Online (Sandbox Code Playgroud)
这成功地重定向了所有人,但问题是它还阻止了创建新用户会话所需的发布请求.
所以我的问题是,除了登录视图和登录后请求之外,您将如何阻止所有请求?
使用Devise这很容易.您只需要添加before_filter :authenticate_user!到ApplicationController.
这些都在Devise wiki中详细说明 - https://github.com/plataformatec/devise
请注意,在Rails 4.2+中,before_action :authenticate_user!首选.
| 归档时间: |
|
| 查看次数: |
5987 次 |
| 最近记录: |