我使用设计进行身份验证,只有管理员可以创建用户。我如何允许具有管理员角色的用户编辑其他用户的角色?
我使用cancan在用户创建过程中为用户分配角色。
我想让管理员查看所有用户角色,并且管理员应该能够编辑用户的角色。
我该怎么做?
我使用设计进行身份验证,只有管理员可以创建用户。我如何允许具有管理员角色的用户编辑其他用户的角色?
我使用cancan在用户创建过程中为用户分配角色。
我想让管理员查看所有用户角色,并且管理员应该能够编辑用户的角色。
我该怎么做?
结帐https://github.com/marklocklear/devise_multi_tentant。在ability.rb我有...
class Ability
include CanCan::Ability
def initialize(user)
can :manage, :all if user.role == "admin"
end
end
您可以为用户模型添加角色属性。 然后,当用户转到管理仪表板时,您可以检查用户的角色。如果用户不是管理员,则重定向到另一个页面(使用before_filter :function
)
但是,您可以使用gem cancan
来替代它,而是非常流行且易于使用! 你可以在这里找到该文件:GitHub 或在轨投episodes 192
基本上,它会创建一个能力模型,你将宣布特权用户,样本能力类
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.admin?
can :update, User
end
end
end
之后,您可以授权用户在行动,控制器或视图,如示例see this link
PS:对不起,如果我的英语太差,谢谢:)
HTTP: //stackoverflow.com/questions/12972280/how-can-a-user-with-same-role-can-access-different-posts-with-different-permissi我也发布了一个更多的上述链接,请帮助我。 – logesh