加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Web服务上的Rails授权

发布时间:2020-12-17 02:00:57 所属栏目:百科 来源:网络整理
导读:我的rails应用程序几乎是几个Web服务的前端.我坚持我的用户模型,就是这样.我需要使用Devise进行身份验证,为我的Web应用添加授权.我注意到CanCan和acl9似乎主要用于ActiveRecord模型的实例. CanCan或acl9能否满足我的需求?在我的情况下使用这些库中的任何一
我的rails应用程序几乎是几个Web服务的前端.我坚持我的用户模型,就是这样.我需要使用Devise进行身份验证,为我的Web应用添加授权.我注意到CanCan和acl9似乎主要用于ActiveRecord模型的实例. CanCan或acl9能否满足我的需求?在我的情况下使用这些库中的任何一个的任何提示?

我应该寻找更多关于行动而不是实例的东西吗?

此外,这些都是基于角色的系统,我正在考虑使用基于权限的系统.他们仍然适合吗?

解决方法

我不能说acl9.然而,康康维基确实声称“如果没有提供,很容易制作自己的[型号]适配器.” https://github.com/ryanb/cancan/wiki/Model-Adapter换句话说,即使您没有使用ActiveRecord,您仍然可以使用cancan.

然后,如果你没有计划拥有角色,你在cancan中的能力定义可能有点多余,例如:

class Ability
  include CanCan::Ability

  def initialize(user)
    user ||= User.new # guest user (not logged in)

    can :create,Widget if user.has_permission(:create_widgets)
    can :delete,Widget if user.has_permission(:delete_widgets)
    can :herp,Derp if user.has_permission(:herp_derp)
  end
end

如果您可以将cancan仅用于其控制器操作授权方法,那将会很棒,但我不知道这是否可行.祝好运.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读