【问题标题】:Websphere 9, how to check incoming ltpatoken2Websphere 9,如何检查传入的 ltpatoken2
【发布时间】:2019-11-15 20:50:11
【问题描述】:

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

【问题讨论】:

    标签: java websphere ltpa


    【解决方案1】:

    在 WebSphere 9 中,如果请求包含 LTPA cookie,LTPA cookie 将被自动处理。在您的应用程序代码中,如果您调用 API com.ibm.websphere.security.auth.WSSubject.getRunAsSubject(),如果 LTPA 令牌存在并且也是有效的,您将看到从 ltpa 令牌创建的主题。

    如果 ltpa 丢失或无效,您将看到未经身份验证的主题。或者在您的应用程序中,如果您调用HttpServletRequest.getPrincipal().getName(),您将看到由 LTPA cookie 表示的用户名(如果它存在且有效),如果 LTPA 丢失或无效,您将看到主体名称或未经身份验证的用户名。

    【讨论】:

    • 你给我解释一下吗?我有两台服务器 - webseal 和 websphere。在 websphere 上,我导出了 ltpa 密钥并启用了安全应用程序检查。在 webseal 上,我导入了 ltpa 密钥。我的代码:
    【解决方案2】:

    没有用于检查该令牌的 API,但您可以对其进行隐式测试。您可以使用 Firefox 或 Chrome 开发人员工具捕获浏览器流量,然后在成功登录后,使用浏览器工具或 curl,发送修改后的请求而无需 cookie,或使用错误的 cookie 值,并且您应该收到身份验证质询,因为 cookie 的不在那里。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2021-12-22
        • 1970-01-01
        • 2021-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多