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 - 检查其他用户的权限的主要内容,如果未能解决你的问题,请参考以下文章

Magnolia CMS,内容应用程序,从属性中命名节点

Magnolia CMS - 用于创建模板的模块创建技术

Magnolia cms 中的并发会话

Magnolia CMS - 公共用户注册通知

将 Magnolia CMS 加密密码迁移到 Joomla CMS?

如何在 Magnolia CMS Marketing Tag 中登录用户 ID