Ruby on rails 具有声明式授权的\u权限\u,非属性条件
如果在我的应用程序中设置了会话变量,我想授权特定操作。我不知道该怎么做。比如:Ruby on rails 具有声明式授权的\u权限\u,非属性条件,ruby-on-rails,declarative-authorization,Ruby On Rails,Declarative Authorization,如果在我的应用程序中设置了会话变量,我想授权特定操作。我不知道该怎么做。比如: has_permission_on :admin, :to => :action do true if session[:key] end 我不明白如何完成这项基本任务。感谢您的帮助。您想在函数上使用before\u过滤器,例如 before_filter :authorize, :only => :action private def authorize unless session[:key]
has_permission_on :admin, :to => :action do
true if session[:key]
end
我不明白如何完成这项基本任务。感谢您的帮助。您想在函数上使用before\u过滤器,例如
before_filter :authorize, :only => :action
private
def authorize
unless session[:key]
flash[:notice] = "Cannot do this"
redirect_to(:controller => "controller", :action => "otheraction")
end
但这完全绕过了声明性身份验证。我只是不明白重点。例如,在我的测试中,当我想知道用户是否有权访问某个资源时,我应该能够使用您提到的before_过滤器执行以下操作:Authorization::Engine.instance.permit?(:action,:context=>:controller,:object=>obj)检查访问时,上面的代码会出现误报。