1.5. 自定义角色和权限
您可以自定义 Data Grid 配置中的授权设置,以使用具有不同角色和权限组合的角色映射器。
流程
-
打开
infinispan.xml配置以进行编辑。 -
通过声明角色映射器和一组角色和权限,为
cache-container配置授权。 - 配置缓存授权,以根据用户角色限制访问权限。
以下配置示例演示了如何使用角色和权限配置安全授权:
<infinispan>
<cache-container default-cache="restricted" name="custom-authorization">
<security>
<authorization>
<!-- Declare a role mapper that associates a security principal
to each role. -->
<identity-role-mapper />
<!-- Specify user roles and corresponding permissions. -->
<role name="admin" permissions="ALL" />
<role name="reader" permissions="READ" />
<role name="writer" permissions="WRITE" />
<role name="supervisor" permissions="READ WRITE EXEC"/>
</authorization>
</security>
<local-cache name="implicit-authorization">
<security>
<!-- Inherit roles and permissions from the cache-container. -->
<authorization/>
</security>
</local-cache>
<local-cache name="restricted">
<security>
<!-- Explicitly define which roles can access the cache. -->
<authorization roles="admin supervisor"/>
</security>
</local-cache>
</cache-container>
</infinispan>
<infinispan>
<cache-container default-cache="restricted" name="custom-authorization">
<security>
<authorization>
<!-- Declare a role mapper that associates a security principal
to each role. -->
<identity-role-mapper />
<!-- Specify user roles and corresponding permissions. -->
<role name="admin" permissions="ALL" />
<role name="reader" permissions="READ" />
<role name="writer" permissions="WRITE" />
<role name="supervisor" permissions="READ WRITE EXEC"/>
</authorization>
</security>
<local-cache name="implicit-authorization">
<security>
<!-- Inherit roles and permissions from the cache-container. -->
<authorization/>
</security>
</local-cache>
<local-cache name="restricted">
<security>
<!-- Explicitly define which roles can access the cache. -->
<authorization roles="admin supervisor"/>
</security>
</local-cache>
</cache-container>
</infinispan>