gpt4 book ai didi

ruby-on-rails - 如何只允许管理员(或某些用户)编辑 Rails 中的页面?

转载 作者:行者123 更新时间:2023-12-02 07:03:41 25 4
gpt4 key购买 nike

我有一个财务支架,我刚刚意识到任何登录用户都可以通过转到/finances/1/edit 来编辑它

我已经安装了 activ_admin gem,但我认为这不是我需要的。如何确保除了管理员(或可能是某些用户)之外没有人可以编辑财务资源类型-I

编辑 - 我找到了 https://github.com/EppO/rolify ,这是最好的选择,还是我仍然可以做得更好,因为它可能有点矫枉过正?

编辑 1 - 我经历了这个 https://github.com/EppO/rolify/wiki/Tutorial并已将角色“admin”分配给 user = User.find(1),一切顺利到控制台中的“ability.can? :manage, :all”,对用户 1 显示 TRUE,对其他用户显示 false。现在我不知道该怎么办?即使我在 Finance.rb 模型中添加了“资源化”,我仍然可以看到所有用户都能够编辑页面。有什么帮助吗?

最佳答案

好吧,我个人在我的项目中使用 rolify 并且喜欢它。但老实说,这非常容易实现,只需在您的用户模型中添加一列“admin”并将其默认设置为 false。当您希望用户成为管理员时,将属性更新为 true,然后要求 User.admin==true 访问财务编辑操作...您可以通过从 Controller 重定向非管理员用户(在财务编辑操作)

顺便说一下,如果您使用 devise 进行身份验证,请查看 Devise before_filter authenticate_admin?

关于ruby-on-rails - 如何只允许管理员(或某些用户)编辑 Rails 中的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16052352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com