Magnolia CMS - 检查其他用户的权限
Posted
技术标签:
【中文标题】Magnolia CMS - 检查其他用户的权限【英文标题】:Magnolia CMS - check other users permission 【发布时间】:2015-02-05 12:04:56 【问题描述】:我想检查特定用户(由名称指定,而不是当前用户)是否具有对某些任意路径的写入权限:例如:
"检查用户 'foo' 是否对节点 '/contacts/common/bar' 有写权限"
到目前为止,我只能看到允许检查当前用户权限的方法。是否有更通用的方法可以进行此类检查?
【问题讨论】:
【参考方案1】:以超级用户身份登录 AdminCentral,然后转到工具/权限,输入您要检查的用户名,选中“显示权限”复选框,然后单击“获取权限列表”按钮。如果您想以编程方式执行相同操作,请检查info.magnolia.module.admininterface.pages.PermissionPage
中的代码。它几乎可以归结为获取UserManager
,从中获取用户,然后遍历分配给用户的所有组和角色以获取所有 ACL,然后列出这些。
HTH, 一月
【讨论】:
只遍历来自 user.getAllRoles() 的每个 acl 就足够了吗?它应该包括用户拥有的每个角色,包括通过每个组分配的角色? 是的,如果您不想知道这个角色来自哪个小组,那就足够了。但是如果你想发现完整的层次结构,你必须像我上面提到的代码那样进行迭代。以上是关于Magnolia CMS - 检查其他用户的权限的主要内容,如果未能解决你的问题,请参考以下文章