1.6. 以编程方式配置授权
在使用嵌入式缓存时,您可以使用 GlobalSecurityConfigurationBuilder 和 ConfigurationBuilder 类配置授权。
流程
构建可启用授权的
GlobalConfigurationBuilder,指定角色映射器,并定义一组角色和权限。GlobalConfigurationBuilder global = new GlobalConfigurationBuilder(); global .security() .authorization().enable()1 .principalRoleMapper(new IdentityRoleMapper())2 .role("admin")3 .permission(AuthorizationPermission.ALL) .role("reader") .permission(AuthorizationPermission.READ) .role("writer") .permission(AuthorizationPermission.WRITE) .role("supervisor") .permission(AuthorizationPermission.READ) .permission(AuthorizationPermission.WRITE) .permission(AuthorizationPermission.EXEC);在
ConfigurationBuilder中启用授权,以根据用户角色限制访问。ConfigurationBuilder config = new ConfigurationBuilder(); config .security() .authorization() .enable();1 - 1
- 隐式添加来自全局配置的所有角色。
如果您不想将所有角色应用到缓存,请显式定义缓存的角色,如下所示:
ConfigurationBuilder config = new ConfigurationBuilder(); config .security() .authorization() .enable() .role("admin")1 .role("supervisor") .role("reader");- 1
- 为缓存定义授权角色。在本例中,仅具有
writer角色的用户不会授权给"安全"缓存。数据网格拒绝来自这些用户的任何访问请求。