使用 SAF 角色映射进行授权
可以通过不同方式将 Java EE 角色映射到用户和组。 在分布式系统中,基本注册表或 LDAP 注册表通常与特定于应用程序的 <application-bnd> 元素结合使用,以将用户从这些注册表映射到 角色。 应用程序的部署描述符将确定哪些角色可以访问应用程序的哪些部分。
关于此任务
在 z/OS®上,存在另一种注册表类型,即系统授权工具 (SAF) 注册表。 除非配置为使用 LDAP ,否则 Liberty JVM 服务器在安装 cicsts:security-1.0 功能部件时将隐式使用此类型进行认证。 您可以选择使用 SAF 授权。 使用 SAF 授权时, 用户到角色 映射用于使用 SAF 角色映射器将角色映射到 EJBROLE 资源概要文件。 服务器会查询 SAF 以确定用户是否对 EJBROLE 资源概要文件具有所需读访问权。
在 Liberty JVM 服务器中,如果要在没有 SAF 授权的情况下使用 Java EE 角色,那么无法使用 CICS® 束来安装应用程序。 这是因为 CICS 束安装的应用程序会自动创建 <application-bnd> 元素并使用 ALL_AUTHENTICATED_USERS 特殊主体集,这将阻止您自行定义该元素。 而是必须直接在 server.xml 中创建 <application> 元素,并使用所需的角色和用户来配置 <application-bnd> 。
但是,如果选择使用 Java EE 角色和 SAF 授权,那么可以继续使用 CICS 束对 Web 应用程序进行生命周期。 Liberty 将忽略 <application-bnd> 以支持使用 SAF 注册表所确定的角色映射。 角色映射由属于 EJB 角色的用户确定。
提示: 在启用 SAF 授权时,无法使用 特殊主体集
ALL_AUTHENTICATED_USERS 和 EVERYONE 。提示: 建议在启动 CICS 区域之前创建或更新 EJB 角色。 Liberty 发出带有 GOBAL=NO 的 RACROUTE REQUEST = LIST 以支持最低版本的 z/OS。 地址空间直到重新启动 (或启动) 后才会看到更新。