授权
委派就是将进程安全身份从调用者传播到被调用对象。 根据 Java™ Platform, Enterprise Edition (Java EE) 规范, servlet 和企业 Bean 可以在调用企业 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) 的用户。 用户标识和密码用于创建新的凭证,它使用图中未显示的认证模块。
生成的凭据作为调用凭据 (5) 保存在当前对象请求代理 (ORB) 中。 当调用其他企业 Bean 时, servlet 和企业 Bean 会从 ORB 当前 (6) 获取调用凭证,并调用下一个企业 Bean (7)。