从线程获取 JAAS 的 RunAs 主体集
RunAs 主体集或调用主体集包含此方法的应用程序部署描述符中的 RunAs 方式集的用户认证信息。
开始之前
关于此任务
RunAs 主体集(或调用主体集)包含此方法的应用程序部署描述符中的 RunAs 方式集的用户认证信息。当此主体集从 WSSubject.getRunAsSubject 应用程序编程接口 (API) 返回时,被标记为只读以防止替换现有对象。
主体集中的大多数数据不往下游传播到另一个服务器。只有 WSCredential 凭证中的凭证令牌往下游传播,并且生成新的调用者主体集。
过程
- 访问 WSCredential 凭证。 API 文档中说明了 WSCredential 凭证。
- 在凭证内的散列映射中放入或设置数据。
示例
try { javax.security.auth.Subject runas_subject;
com.ibm.websphere.security.cred.WSCredential runas_cred;
runas_subject = com.ibm.websphere.security.auth.WSSubject.getRunAsSubject();
if (runas_subject != null) { runas_cred = runas_subject.getPublicCredentials
com.ibm.websphere.security.cred.WSCredential.class).iterator().next();
String RUNASDATA = (String) runas_cred.get ("MYKEY")
System.out.println("My data from the RunAs credential is: " + RUNASDATA ); } }
catch (WSSecurityException e) { // log error } catch (Exception e) { // log error }