1.8. 以编程方式配置授权


将 Data Grid 用作嵌入式库时,您可以使用 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
    为 Cache Manager 启用 Data Grid 授权。
    2
    指定 PrincipalRoleMapper 的实现,它将 Principals 映射到角色。
    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 角色的用户没有授权"secured"缓存。Data Grid 拒绝来自这些用户的任何访问请求。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat