Websphere 9,如何检查传入的ltpatoken2

问题描述 投票:0回答:3

美好的一天我有一个基于ltpatoken2 cookie的基于Websphere 9的应用程序传入请求。以前,ltpa密钥是从我的Websphere导出的,并添加到另一台服务器。启用了应用程序安全性选项。如何在Websphere或我的应用程序中检查令牌是否存在并正确?对于没有令牌的请求,我的应用程序应该不可用。

java websphere ltpa
3个回答
0
投票

没有用于检查该令牌的API,但是您可以对其进行隐式测试。您可以使用Firefox或Chrome开发者工具捕获浏览器流量,然后在成功登录后,使用浏览器工具或curl,发送修改后的请求,但不包含Cookie或Cookie值不正确,并且由于Cookie是不在那里。


0
投票

在WebSphere 9中,如果请求包含LTPA cookie,将自动处理LTPA cookie。在您的应用程序代码中,如果调用API com.ibm.websphere.security.auth.WSSubject.getRunAsSubject(),则如果显示LTPA令牌并且该令牌也是有效的,则您将看到从ltpa令牌创建的主题。如果ltpa丢失或无效,您将看到未经身份验证的主题。或在应用程序内部,如果调用HttpServletRequest.getPrincipal()。getName(),则将看到LTPA cookie代表的用户名(如果存在且有效),并且将看到主体名称,如果缺少LTPA,则会看到未经身份验证的用户名或无效。


0
投票

最简单的方法是在web.xml中添加安全性约束,以保护整个应用程序(您会发现很多示例),并将安全性角色映射到All authenticated。然后,如果用户已经登录(因此LTPA令牌存在并且正确),则您的应用程序将仅可用,否则它将将您重定向到您可以包含在应用程序中的登录页面,并将用户重定向到某处,告知该用户没有登录,或者在没有有效的LTPA令牌的情况下要执行的任何操作。

© www.soinside.com 2019 - 2024. All rights reserved.