【问题标题】:How to know what permissions a Site Admin & Site Owner has?如何知道站点管理员和站点所有者拥有哪些权限?
【发布时间】:2012-10-19 16:13:20
【问题描述】:

我如何知道以下 Liferay 角色拥有哪些权限:

  1. 网站管理员
  2. 网站所有者

我看不到在ResourcePermissions 表中为上述两个系统角色和Administrator 角色创建的任何条目,因此我认为这使得Permission...Service 类在我的情况下无用。


用例

我们需要做的是赋予Site Administrator 角色,但删除一些权限,例如特定的Site Administrator 不应该能够更新站点设置或不应该能够访问控制面板上的某些屏幕等。

我们正在考虑创建一个单独的角色 (Custom Site Admin),因为我们无法为 Liferay 创建的角色定义权限,然后我们会将 Site Administrator 的所有权限分配给该角色并删除一些权限为在用例中指定。


编辑:
另一个问题是,如果我创建一个新角色并分配所有权限并删除一些权限,会影响性能吗?


版本: Liferay 6.1 GA2

如果您知道有关此问题的其他解决方法,我将不胜感激。

谢谢

【问题讨论】:

    标签: liferay liferay-6 user-permissions


    【解决方案1】:

    区别

    管理员拥有他们描述的域的所有权限,只有一个值得注意的例外。

    • 他们不能分配或删除其他管理员。

    例如,“站点管理员”被授予该站点的所有权限,但再次分配其他站点管理员除外。

    对于您的用例,我会创建另一个角色。

    另一个问题是,如果我创建一个新角色并分配所有权限并仅删除一些权限,会影响性能吗?

    没有。考虑到还有 2 个其他角色“guest”和“member”,它们的使用频率要高得多,这将需要以与您的新自定义角色相同的方式进行查找。

    但是您能告诉我网站所有者和网站管理员之间的不同权限到底是什么吗?

    所有迹象都表明它是硬编码的,因为PermissionChecker 中的方法有isSiteAdminisSiteOwnerisOmniAdmin 等方法,这些方法检查用户是否具有这些角色并允许他们执行那个特定的动作。

    通常,您可以通过以下操作为用户分配角色:

    • 具有“分配用户角色”操作的组权限
    • 具有“分配成员”操作的角色权限

    但是,即使您将这些操作授予任何其他角色,您仍然无法在不成为“站点所有者”的情况下将人员设为“站点管理员”或“站点所有者”

    【讨论】:

    • 是的,我们也在考虑创建问题中提到的另一个角色。但是你能告诉我site ownersite admin 之间的不同权限到底是什么吗?至少在哪里可以找到属于哪个类别的这些权限?
    • 我在 OP 中添加了另一个问题。谢谢 rp
    • 至于“动作”的确切权限是什么?我不相信该项目作为可分配的“动作”存在并且是硬编码的。明天我在办公桌前时必须检查一下。
    • 这很酷。谢谢。会等你到你的办公桌:-)
    • 嗨,普拉卡什,对不起,我忘了回复你!它确实是硬编码的。如果您查看各种权限类,他们称之为isAdminisOwner 的一些变体,它们会查找用户是否具有这些系统角色。
    猜你喜欢
    • 2015-06-11
    • 2021-06-13
    • 1970-01-01
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多