给用户指定 RunAs 角色
您可以了解如何给用户指定应用程序的 RunAs 角色。
开始之前
- 保护创建了新的 RunAs 角色并对 Web 和 EJB 资源指定了那些角色的 Web 应用程序和 EJB 应用程序。
- 在应用程序中创建所有 RunAs 角色。仅当 RunAs 角色中的用户或该用户所属的组已经包含在正规角色中时,才能输入该用户。
- 给用户和组指定安全角色。请参阅为用户和组指定角色以了解更多信息。
- 验证是否已满足用户注册表需求。这些需求与为用户和组指定角色中讨论的需求相同。例如,如果角色 role1 还被用作 RunAs 角色,那么可以将用户 user1 添加到 RunAs 角色。当您单击应用或确定时,管理控制台将检查此逻辑。如果检查失败,那么不进行更改,并且显示错误消息。
在给用户标识和密码指定 RunAs 角色时,验证是使用已配置的当前活动用户注册表进行的。缺省情况下,会将本地操作系统注册表设置为活动用户注册表。因此,安装应用程序时,如果在服务器上已禁用了安全性,那么将使用本地操作系统注册表来验证对 RunAs 角色指定的用户标识和密码。如果应用程序期望的注册表不是本地操作系统注册表,那么验证将失败。因此,在服务器上启用安全性时,请将 RunAs 角色映射至用户。但是,如果活动用户注册表与期望的注册表在启用安全性后是相同的,那么可以在安全性处于禁用状态的情况下给用户指定 RunAs 角色。
如果对角色指定了 Everyone 或 All Authenticated 特殊主体集,就不会为该角色执行验证。
每当您在此面板上单击应用或者在“安全角色到用户/组映射”面板上单击确定时,就会执行验证。检查操作验证所有 RunAs 角色中的所有用户是否确实直接地或通过组间接地存在于“安全角色到用户/组映射”面板上的那些角色中。如果对某个角色同时指定了一个用户以及该用户所属的组,那么可以从“安全角色到用户/组映射”面板中删除该用户或该组。
如果 RunAs 角色用户属于某个组,并且已给该组指定该角色,请确保通过管理控制台而不是通过组装工具或任何其他方法给该组指定该角色。使用管理控制台时,将使用组的全名(例如,Windows 系统中的 hostname\groupName 以及轻量级目录访问协议 (LDAP) 中的专有名称 (DN))。在检查期间,将从用户注册表中获取 RunAs 角色用户所属的所有组。由于从用户注册表中获取的组列表是组的全名,所以检查操作将正确进行。如果使用组装工具输入组的短名称(例如,输入 group1 而不是 CN=group1, o=myCompany.com),那么检查将失败。
关于此任务
在安装应用程序和修改现有应用程序时都需要执行这些步骤。如果应用程序包含 RunAs 角色,您在安装应用程序期间就会看到“用户 RunAs 角色”链接,并且,在管理应用程序期间,在“其他属性”部分中也会有此链接。
过程
- 单击应用程序 > 企业应用程序 > application_name。
- 在“详细信息”属性下,单击安全角色到用户/组映射。 这将显示所有属于此应用程序的 RunAs 角色列表。如果已对角色指定了用户,这里就会显示那些用户。
- 要指定用户,请选择角色。 如果已给同一个用户指定了多个角色,那么可以同时选择全部那些角色。
- 在指定的字段中输入用户名和密码。输入的用户名可以是短名称(首选)或全名(从用户注册表中获取用户和组时看到的名称)。
- 单击应用。 将使用活动用户注册表认证该用户。如果认证成功,那么会执行检查以验证在“将安全角色映射至用户和组”面板中是否已将此用户或组映射至该角色。如果认证失败,那么验证用户和密码是否正确以及活动注册表配置是否正确。
- 要从 RunAs 角色中移除用户,请选择角色,然后单击移除。
结果
下一步做什么
如果对应用程序进行管理并修改用户 RunAs 角色,请确保保存更改,然后停止并重新启动应用程序以使更改生效。尝试访问 Java Platform, Enterprise Edition (Java EE) 资源以验证新更改是否已生效。