Rails CANCAN - 第一次点击无访问权限
我在使用 Rails 4 和 CanCan 时遇到了一些问题。 我所做的一切都像这里https://github.com/ryanb/cancan 描述的那样,实际上它可以工作,但我有以下问题: 有时当我点击导航中的链接时,例如"Employee" 打开 Employee/Show 页面 CanCan 触发警报: "...employee/?alert=You+are+not+authoriz... »
我在使用 Rails 4 和 CanCan 时遇到了一些问题。 我所做的一切都像这里https://github.com/ryanb/cancan 描述的那样,实际上它可以工作,但我有以下问题: 有时当我点击导航中的链接时,例如"Employee" 打开 Employee/Show 页面 CanCan 触发警报: "...employee/?alert=You+are+not+authoriz... »
我正在尝试测试Farm 模型的用户身份验证,在这种情况下,:user 角色在登录时具有对所有场的读取访问权限(作为访客user aka.anonymous 也有)。 # /models/ability.rb class Ability include CanCan::Ability def initialize(user) # Create guest user aka. an... »
我对 cancan 和嵌套路由有一些问题。 我有这条路线: resources :companies do resources :projects end 我对公司模型的能力没有问题,但对于项目模型,如果他们不是公司的管理员,我想拒绝对 Project#index 的访问。 下一个代码有效: can :show, Company do |company| if user.a... »
我有一个数据库设置,其中有很多用户,这些用户具有成员或管理员的角色。每个用户有许多汽车。每辆车都有很多时间片 那么,只有当用户是母车的车主时,我如何限制用户编辑时间记录的能力。 在CanCan: class Ability include CanCan::Ability def initialize(user) user ||= User.new # gue... »
我正在使用CanCanCan 进行授权。管理员可以管理所有内容,因此他们没有每个用户 ID 规则。结果是默认情况下他们无法为自己创建项目。看起来我需要添加一堆额外的管道以使我的控制器中的create 对管理员的工作方式与对一般用户的工作方式相同。原因似乎是Ability#attributes_for 没有为管理员用户提供 user_id 属性。 其他人是如何解决这个问题的?您是否正在编写代码来... »
您可以通过这种方式使用can? 从视图或控制器中获取current_user 的权限: <% if can? :update, @article %> <%= link_to "Edit", edit_article_path(@article) %> <% end %> 如何使用以下语法从模型访问此功能: user.can?(:upda... »
对于以下问题,您会推荐哪种方法:我的应用需要有一个帐户,多个用户在同一个帐户上输入任务。只有其中一位用户(开户者)拥有管理员权限。 我正在考虑使用 Authlogic 进行身份验证,使用 CanCan 确定用户权限。关键是我希望打开帐户的用户默认是管理员,他是唯一能够为他的帐户生成具有不同权限的其他用户的用户。... »
我很难让控制器通过 rspec 测试。我想测试 POST 创建操作是否有效。我正在使用 rails (3.0.3)、cancan (1.4.1)、devise (1.1.5)、rspec (2.3.0) 模型非常简单 class Account < ActiveRecord::Base attr_accessible :name end 控制器也是标准的(直接从脚手架出来) ... »
我已经为我的应用设置了设计,然后我用它来启用来宾用户:https://github.com/plataformatec/devise/wiki/How-To:-Create-a-guest-user 我测试了我的登录/注销,但它似乎仍然有效。 我真的想知道它是否真的在创造访客用户。当匿名用户连接时,我如何检查它是否真的在创建访客用户? ... »
我有一个财务脚手架,我刚刚意识到任何登录用户都可以通过转到 /finances/1/edit 来编辑它 我已经安装了 activ_admin gem,但我认为这不是我需要的。如何确保除了管理员(或可能是某些用户)之外没有人可以编辑财务资源类型-I 编辑-我找到https://github.com/EppO/rolify,这是最好的选择还是我仍然可以做得更好,因为它可能有点矫枉过正? 编辑... »
我有下一个角色模型: Admin1 -> Manager1 -> User1 | -> Manager2 -> User2 | -> User3 Admin2 -> Manager3 -> User4 | -> Manag... »
我将 CanCan(Can) 与 ActiveAdmin 一起使用。但是,我很难让 CanCan(Can) 在索引上正常工作,以实现“has_many through”关系。 基本上我的 Invoice 模型如下所示 class Invoice < ActiveRecord::Base belongs_to :order belongs_to :country belong... »
我试图弄清楚如何将用户的:collection 限制为can? :manage, @article.website 的用户。如前所述,我正在使用 Cancan,我觉得我应该能够做这样的事情: = f.input :user_id, collection: User.all unless cannot? :manage, @article.website 我使用的是 simple_form_f... »
我一直在研究在现有 Rails 应用程序中用于生产的 wiki,而不是供个人使用 - 在这里看到了一些关于 wiki gems 的问题,但很少用于个人用途。 Gollum 似乎很容易在本地运行,但对于可能有多个用户/组且每个用户/组都有自己的安全 wiki 的生产环境,它是一个不错的选择吗? 除了咕噜,我还研究了Instiki、zena 和Wagn。 需要考虑的一些生产要求: 需要很好地与... »
在我的能力.rb 我有 user ||= User.new if user.has_role? :admin can :manage, :all elsif user.has_role? :collaborator can :manage, Task, :user_id => user.id else can :read, Task, :user_id => user.i... »
我使用cancan 进行授权,我想根据多对多关系做一些限制。 实体 User - has_many project_assignments User - has_many projects, through: :project_assignments User - has_many roles, through: :project_assignments ProjectAssign... »
我花了一天的大部分时间试图根除控制器规范的问题,而当前的解决方法对我来说似乎是不可接受的。任何关于为什么这有效? ...以及我应该做什么。 给定一个简单的层次结构如下,以及下面的能力.rb,properties_controller_spec.rb 不允许下面的规范在没有以下行的情况下通过: ability = Ability.new(subject.current_user) 你能告诉我... »
如何修改加载和授权资源以使用不同的 id 加载资源。例如。 我的路线是 http://localhost:3000/organization/user/12/event/20/edit 在我的事件控制器中,我使用:event_id 访问事件,用户使用:id 访问事件 现在在我的事件控制器中如何修改 load_and_authorize_resource 使用 :event_id 而不是 ... »
我有一个使用 Devise、CanCan 和 Rolify 来处理身份验证和授权的应用程序。但我认为我并没有充分利用这些宝石。现在我的能力班里唯一的东西是这样的: class Ability include CanCan::Ability def initialize(user) user ||= User.new # guest user (not logged in) ... »
我正在使用 cancan gem,但遇到了一些问题。我写了一些简单的测试,但对于没有分配角色的用户来说失败了。可以看出,在Ability 类中,我试图说一个用户只有拥有:admin 角色才能管理其他用户。正如评论所指出的,该块永远不会被调用。 当你将一个块传递给can时,在cancan gem中?方法它将它添加到规则中,然后在您调用 can?方法,除非传入的对象的类是Class。因此,当我执行... »