将公共对象请求代理体系结构程序化登录迁移到 Java 认证和授权服务 (CORBA 和 JAAS)
使用本主题作为如何使用基于 CORBA 的程序化登录 API 执行程序化登录的示例。
准备工作
本文档概述了不推荐使用的公共对象请求代理体系结构 (CORBA) 程序化登录 API 以及 JAAS提供的替代方法。 WebSphere® Application Server 完全支持 Java™ 认证和授权服务 (JAAS) 作为程序化登录应用程序编程接口 (API)。 有关 JAAS 支持的更多详细信息,请参阅 为 Java 认证和授权服务配置程序化登录 和 使用 Java 认证和授权服务开发程序化登录 。
公共对象请求代理体系结构 (CORBA) 应用程序编程接口 (API) 在 WebSphere Application Server for z/OS® 环境中不受支持。 如果您有一个要从另一个 WebSphere Application Server 产品移植到 WebSphere Application Server for z/OS 的应用程序,那么必须注意 V6.0.x中不推荐使用的安全性 API。 如果要在 WebSphere Application Server for z/OS V 8.0上使用这些应用程序,那么必须迁移到 Java 认证和授权服务 (JAAS)。
${user.install.root}/installedApps/sampleApp.ear/default_app.war/WEB-INF/classes/LoginHelper.java.
${user.install.root}/installedApps/sampleApp.ear/default_app.war/WEB-INF/classes/ServerSideAuthenticator.java.
profile_root/installedApps/sampleApp.ear/default_app.war/WEB-INF/classes/ServerSideAuthenticator.java.
org.omg.SecurityLevel2.Credentials. 此 API 包含在产品中,但是不推荐使用。
WebSphere Application Server 中提供的 API 是标准 JAAS API 与标准 JAAS 接口的产品实现的组合。
WebSphere Application Server for z/OS 中提供的受支持 API 是标准 JAAS API 与具有一些次要扩展的标准 JAAS 接口的产品实现的组合。
以下信息只是摘要; 请参阅位于以下位置的平台的 JAAS 文档: http://www.ibm.com/developerworks/java/jdk/security/ 。
- 程序化登录 API:
- javax.security.auth.login.LoginContext
- javax.security.auth.callback.CallbackHandler 接口: WebSphere Application Server 产品提供 javax.security.auth.callback.CallbackHandler 接口的以下实现:
- com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl
- 当应用程序将基本认证数据(用户标识、密码和安全领域)或令牌数据推送到产品登录模块时,提供非提示 CallbackHandler 处理程序。 建议为服务器端登录使用此 API。
com.ibm.websphere.security.auth.callback.WSGUICallbackHandlerImpl
提供登录提示 CallbackHandler 处理程序以收集基本认证数据 (用户标识,密码和安全域)。 建议为客户端登录使用此 API。
如果在服务器端使用此 API,将阻止服务器输入。
- com.ibm.websphere.security.auth.callback.WSStdinCallbackHandlerImpl
- 提供标准输入登录提示 CallbackHandler 处理程序以收集基本认证数据(用户标识、密码和安全领域)。 建议为客户端登录使用此 API。注: 如果在服务器端使用此 API ,那么将阻止服务器进行输入。
- javax.security.auth.callback.Callback 接口:
- javax.security.auth.callback.NameCallback
- 由 JAAS 提供,以将用户名传递到 LoginModules 接口。
- javax.security.auth.callback.PasswordCallback
- 由 JAAS 提供,以将密码传递到 LoginModules 接口。
- com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl
- 由产品提供,以执行基于令牌的登录。 使用此 API,应用程序可以传递标记字节数组到 LoginModules 接口。
- javax.security.auth.spi.LoginModule 接口
WebSphere Application Server 为客户机和服务器端登录提供了 LoginModules 实现。 请参阅 配置 Java 认证和授权服务的程序化登录 以获取详细信息。
- javax.security.Subject:
com.ibm.websphere.security.auth.WSSubject
产品提供的扩展,用于使用 javax.security.Subject 中的凭证来调用远程 J2EE 资源
com.ibm.websphere.security.auth.WSSubject
产品提供的扩展,用于使用 javax.security.Subject 中的凭证来调用远程 J2EE 资源
应用程序必须使用由显式调用 WebSphere Application Server 登录模块生成的主体集来调用 WSSubject.doAs 方法,以进行 J2EE 资源访问。
- com.ibm.websphere.security.cred.WSCredential
- 在使用 WebSphere Application Server LoginModules 接口成功登录 JAAS 之后,将创建 com.ibm.websphere.security.cred.WSCredential 凭证并将其存储在主体集中。
- com.ibm.websphere.security.auth.WSPrincipal
- 在由 WebSphere Application Server LoginModules 接口认证的主体集中创建和存储的已认证主体集。