0

我正在尝试添加自定义权限,即特定于我使用 ServiceBuilder 构建的自定义模型(请参阅下面的资源操作/default.xml 摘录)。我的 portlet 已经部署,并且正在使用中。

我对此有两个问题:

  1. 我假设我必须在升级方法中重新创建适当的资源,以便考虑我的新操作键。是这样吗 ?
  2. 如果我必须再次向我的所有模型实例添加资源,是否会保留之前分配的权限?

最好的问候, 阿兰


资源操作 default.xml 文件的提取:

    <permissions>
        <supports>
            <action-key>VIEW</action-key>
            <action-key>DELETE</action-key>
                            ...
            <action-key>NEW_CUSTOM_PERMISSION</action-key>
        </supports>
                     ...
    </permissions>
4

1 回答 1

1

权限系统中的逻辑是 Roles -> Action-keys -> Resources

'Action-keys -> Resources' 在您的 portlet 的业务逻辑中定义,并将在其他页面或门户实例中携带。通过这种方式,您可以控制资源(页面、模型、服务构建器实体等)如何由公开的操作键控制,用于您的 portlet 的每个实例。

'Roles -> Action-keys' 关系对于同一个 portlet 的实例可以有两种不同的方式:

  1. 通过将角色分配给操作键(从管理员的控制面板),您可以为部署 portlet 的特定门户使用完全不同的角色。这样,您还定义了一些将在该门户的每个页面中遵循的最小/默认权限。例如,在 Portal P1 中,角色 R1 中的所有用户都可以执行操作 A1,而在 Portal P2 中,根本没有角色 R1
  2. using the permissions table, you fine tune or override the above permissions, and give different permissions to instances that are placed in different pages of the same portal. e.g Users in role R1, in page p1 can perform an action, while on another page p2, they can't

You can imagine the action keys as an middle layer between the resources and the roles, giving you the abstraction create a great combination of role-to-resource bindings

于 2013-03-14T20:06:45.597 回答