4

我怎么知道以下 Liferay 角色有什么权限:

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

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


用例

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

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


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


版本: Liferay 6.1 GA2

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

谢谢

4

1 回答 1

5

区别

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

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

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

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

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

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

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

所有迹象都表明它是硬编码的,因为方法中有一些方法,如 ,PermissionCheckerisSiteAdmin,这些方法检查用户是否具有这些角色并允许他们执行该特定操作。isSiteOwnerisOmniAdmin

通常,以下操作将允许您为用户分配角色:

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

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

于 2012-10-31T21:45:40.123 回答