覆盖线程上 JAAS 的 RunAs 主体集

要扩展 Java™ 认证和授权服务 (JAAS) 应用程序编程接口 (API) 提供的功能,您可以使用用于此运行线程上的出站请求的另一个有效条目设置 RunAs 主体集或调用主体集。

开始之前

您需要以下 Java 2 安全许可权以运行这些 API:
  • permission javax.security.auth.AuthPermission "wssecurity.getRunAsSubject"
  • permission javax.security.auth.AuthPermission "wssecurity.getCallerSubject"
  • permission javax.security.auth.AuthPermission "wssecurity.setRunAsSubject"

关于此任务

无论是否使用 WSSubject.doAs 方法将主体集与远程操作相关联,此扩展都允许您灵活地将主体集与此线程上的所有远程调用相关联。

[z/OS]应用程序开发者可以使用 WSSubject.doAs 方法来建立由 JAAS 登录模块认证的 JAAS 主体集,此 JAAS 登录模块作为执行指定操作时要使用的 WebSphere® Application Server 运行时的活动安全身份。仅当在为与线程同步而配置的组件中调用 WSSubject.doAs 时,WSSubject.doAs 才使线程标识同步。当与应用程序“与允许的操作系统线程同步”选项配合使用时,将在操作系统线程上设置此标识以获取该操作的范围。

过程

  1. 为线程设置新的 RunAs 主体集,从而覆盖以声明方式设置的主体集。
    com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(caller_subject);  	 	 
  2. 执行一些远程调用。
  3. 恢复先前的 RunAs 主体集。
    com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(runas_subject);

示例

try { javax.security.auth.Subject runas_subject, caller_subject; runas_subject = com.ibm.websphere.security.auth.WSSubject.getRunAsSubject(); caller_subject = com.ibm.websphere.security.auth.WSSubject.getCallerSubject();   // set a new RunAs subject for the thread, overriding the one declaratively set com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(caller_subject);   // do some remote calls   // restore back to the previous runAsSubject com.ibm.websphere.security.auth.WSSubject.setRunAsSubject(runas_subject); } catch (WSSecurityException e) { // log error } catch (Exception e) { // log error }


指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_override
文件名:tsec_override.html