gpt4 book ai didi

ruby-on-rails - 您如何使用 Devise 保护 Controller 操作?

转载 作者:数据小太阳 更新时间:2023-10-29 08:17:46 26 4
gpt4 key购买 nike

我正在使用 Devise,用户可以是管理员,也可以不是管理员(正确,错误)。

谁能帮我弄清楚如何保护 Controller 操作,例如:

  def new
@post = Post.new
end

我知道 Devise 允许您通过在 View 中使用来调用管理员,但这可以在 Controller 中使用吗?:

if current_user.admin?

提前致谢。

最佳答案

您可以通过这种方式简单地添加过滤器:

class YourController < ApplicationController
before_filter :check_access, :only => :new

...

def new
@post = Post.new
end

protected
def check_access
redirect_to <whatever> and return unless current_user.admin?
end
end

或者使用 CanCan 或类似的东西,很好地保持限制

关于ruby-on-rails - 您如何使用 Devise 保护 Controller 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8433332/

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