0

我有一个复杂的身份验证场景,我想出了这个模型结构。

见模型结构

任何人都可以指导如何使用 cancan 以这种结构嵌入身份验证。

4

2 回答 2

0
p.resource.class_name == subject.id and p.can_read
    end
    can :create, p.resource.class_name.to_s.classify.constantize do |subject|
      p.resource.class_name == subject.id and p.can_create
    end
    can :update, p.resource.class_name.to_s.classify.constantize do |subject|
      p.resource.class_name == subject.id and p.can_update
于 2013-07-15T10:53:17.723 回答
0
def initialize (user)
    user ||= User.new # Guest user
        user.roles.each do |role|
      role.permissions.each do |p|
        can :read, p.resource.class_name.to_s.classify.constantize do |subject|
          p.resource.class_name == subject.id and p.can_read
        end
        can :create, p.resource.class_name.to_s.classify.constantize do |subject|
          p.resource.class_name == subject.id and p.can_create
        end
        can :update, p.resource.class_name.to_s.classify.constantize do |subject|
          p.resource.class_name == subject.id and p.can_update
        end
        can :destroy, p.resource.class_name.to_s.classify.constantize do |subject|
          p.resource.class_name == subject.id and p.can_delete
        end
      end
    end
end
于 2011-01-26T09:28:37.733 回答