1.6. 以编程方式配置授权


在使用嵌入式缓存时,您可以使用 GlobalSecurityConfigurationBuilderConfigurationBuilder 类配置授权。

流程

  1. 构建可启用授权的 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);
    Copy to Clipboard Toggle word wrap
    1
    为缓存管理器启用 Data Grid 授权。
    2
    指定 PrincipalRoleMapper 实施,它将主体映射到角色。
    3
    定义角色及其关联的权限。
  2. ConfigurationBuilder 中启用授权,以根据用户角色限制访问。

    ConfigurationBuilder config = new ConfigurationBuilder();
    config
       .security()
          .authorization()
             .enable(); 
    1
    Copy to Clipboard Toggle word wrap
    1
    隐式添加来自全局配置的所有角色。

    如果您不想将所有角色应用到缓存,请显式定义缓存的角色,如下所示:

    ConfigurationBuilder config = new ConfigurationBuilder();
    config
       .security()
          .authorization()
             .enable()
             .role("admin") 
    1
    
             .role("supervisor")
             .role("reader");
    Copy to Clipboard Toggle word wrap
    1
    为缓存定义授权角色。在本例中,仅具有 writer 角色的用户不会授权给"安全"缓存。数据网格拒绝来自这些用户的任何访问请求。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat