Rails:如何使用 ActiveAdmin 访问 Devise 在控制器外部的当前用户
我不想违反 MVC,我想实现以下目标:我正在使用 ActiveAdmin 滚动我自己的授权库。现在我想禁用当前用户无法访问的所有 ActiveAdmin 操作。看起来像这样:
visible_actions = [:index, :show, :new].reject{|action| !AdminUser.first.can_access?("admin/privileges", action.to_s) }
ActiveAdmin.register Privilege do
actions *visible_actions
... <other stuff>
end
但我想访问当前用户,而不是 AdminUser.first 。当我的代码被解析时,Devise 的身份验证过程已经完成。所以 current_user 应该是已知的。但我没有找到一种以干净的方式访问 current_user 的方法。
有什么办法吗?提前谢谢。菲利克斯
I do not want to violate MVC, I'd like to achive the following: I'm rolling my own authorization lib with ActiveAdmin. Now I'd like to disable all ActiveAdmin actions that can not be accessed by the current user. That looks like so:
visible_actions = [:index, :show, :new].reject{|action| !AdminUser.first.can_access?("admin/privileges", action.to_s) }
ActiveAdmin.register Privilege do
actions *visible_actions
... <other stuff>
end
But instead of AdminUser.first I'd like to access the current user. Devise's authentication process has already finished when my piece of code is parsed. So the current_user should be known already. But I do not find a way to access the current_user in a clean way.
Is there any way? Thx in advance. Felix
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论