我正在使用Rails 4应用程序。我有用户模型和操作员模型(这就像一个超级管理员)。让控制器说testcontroller有以下过滤器来验证用户是否已经过身份验证。
before_filter :authenticate_user!
现在我必须以操作员的身份访问此testcontroller。 (在我的情况下,用户和操作员的身份验证是不同的)。当我尝试访问,因为我的会话将是current_operator,控制器的before_filter具有autheticate_user!阻止了我。
我尝试将测试代码添加到测试控制器
before_filter :check_operator
#before_filter :authenticate_user!
private
def check_operator
if current_operator!=nil
:authenticate_operator!
else
:authenticate_user!
end
端
仍然无法作为Operator访问testcontroller。任何想法都会对我有所帮助
答案 0 :(得分:0)
我可能对此有一些想法:
authenticate_user!
check_operator
中的代码永远不会落入authenticate_user!
,因为您始终会authenticate_operator!
注意:您应该使用before_action
,这是before_filter
的新语法:)