jakarta-ee - 使用信任关联拦截器 (TAI) 获取 LTPA2 token

标签 jakarta-ee websphere single-sign-on websphere-8 ltpa

我们有一个托管在 tomcat 服务器上的自定义 Web 应用程序,并且希望在 tomcat 上登录此应用程序时获取 LTPA2Token。两个应用程序服务器上的所有应用程序都使用相同的 LDAP。tomcat 服务器上的应用程序不能托管在 WebSphere Application Server (WAS) 上。

想法如下:

1.通过网络浏览器在 tomcat Web 应用程序上输入用户名和密码。 2 使用凭据生成自定义 token 3. 将这些凭证发送到 WebSphere Application Server 上的自定义 TAI

问题是,我们是否可以在登录成功后从TAI中获取LTPA2Token并将其发送回tomcat应用程序,以便在浏览器中设置LTPA2Token?

谢谢并致以最诚挚的问候 本杰明

最佳答案

这可能有效,但两台服务器应该位于同一sso域,例如tomcat.company.com 和 websphere.company.com。在 WebSphere 管理控制台的安全性 > 全局安全性 > 单点登录 (SSO) 中指定域名,例如 .company.com。您可以在那里定义多个域,但如果只有一个域,则更容易调试。

最简单的方法是使用一个 jsp 创建虚拟 Web 应用程序,该 jsp 会将重定向发送到您的 tomcat 应用程序。使用 JEE 安全性保护该应用程序,并创建将拦截对此应用程序的调用的 TAI,并使用以下方法根据传递的带有用户 ID 的 token 创建 TAIResult:

public static TAIResult create(int status, String principal);

这将在 WAS 注册表中找到主要用户,对其进行身份验证并创建 LTPA token 。然后将传递到您的页面,该页面将重定向到 tomcat,在浏览器中设置 cookie。

也许可以在 TAI 中执行此操作,但我从未尝试过该解决方案(并且使用自定义应用程序的解决方案也可以)。

但是,您必须创建良好的自定义 token ,否则其他人可能能够使用您的 TAI 以其他人的身份进行身份验证。

附注。
为什么你的tomcat应用无法部署到WAS上?也许解决这个问题比创建这个 TAI 解决方案更容易?

关于jakarta-ee - 使用信任关联拦截器 (TAI) 获取 LTPA2 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25307297/

相关文章:

java - Websphere 内存不足问题 - 8.0.0.12 - com.ibm.xml.xlxp2.scan.util.SymbolMap

java - 将 JBoss EL 与 Websphere 结合使用

java - Tomcat 的 Cookie 是如何工作的?

java - 将 Java 作为 Web 应用程序运行

java - @Postconstruct 的 ejb-jar.xml 等价物是什么?

java - 为远程调用引入压缩

tomcat - 使用 Tomcat 进行单点登录

php - 多域单点登录

security - 此 SSO 实现安全吗?

active-directory - 在哪里可以获得用于开发的一次性 Active Directory 服务器?