委派
委派就是将进程安全身份从调用者传播到被调用对象。按照 Java™ Platform, Enterprise Edition (Java EE) 规范,当调用企业 Bean 时,Servlet 和企业 Bean 可以传播客户机或远程用户标识,它们也可以使用相应部署描述符中指定的另一个标识。
- 委派 (RunAs) 客户机身份
- 委派 (RunAs) 指定的身份
- 代表 (RunAs) 系统标识



EJB 规范仅支持 Enterprise JavaBeans (EJB) 级别的委派 (RunAs)。但是,扩展允许 EJB 方法级别的 RunAs 规范。对于 EJB 方法级别,RunAs 规范可以为相同企业 Bean 中的不同方法指定不同的 RunAs 角色。
在部署描述符(即,EJB 模块中的 ejb-jar.xml 文件和 Web 模块中的 web.xml 文件)中详细描述了 RunAs 规范。对 RunAs 规范的扩展包括在 ibm-ejb-jar-ext.xml 文件中。
对于包含从 RunAs 角色到用户的映射的每个应用程序都提供了 IBM 特有的绑定文件。此文件在 ibm-application-bnd.xml 文件中指定。

委派过程
- 资源到 RunAs 角色的映射表
- RunAs 角色到用户标识和密码的映射表
使用“资源到 RunAs 角色”映射表以获取由 Servlet 或企业 Bean 使用的角色并将其传播到下一个企业 Bean 调用。
使用“RunAs 角色到用户标识和密码”映射表来获取属于 RunAs 角色的用户标识及其密码。
成功认证和授权后执行委派。在此过程中,委派模块查询“资源到 RunAs 角色”映射表以获取 RunAs 角色 (3)。委派模块查询“RunAs 角色到用户标识和密码”映射表,获取属于 RunAs 角色(4) 的用户。用户标识和密码用于创建新的凭证,它使用图中未显示的认证模块。
产生的凭证作为调用凭证存储在“对象请求代理”(ORB) Current®对象中 (5)。Servlet 和企业 Bean 在调用其他企业 Bean 时从 ORB 当前对象中检取调用凭证 (6),然后调用下一个企业 Bean (7)。