首页 > 解决方案 > 成功Siteminder SSO webagent身份验证后tomcat提示基本登录

问题描述

我有一个基本的 apache2.4 HTTP webserver 和 tomcat7 应用服务器。CA Siteminder Webagent 在 HTTP Webserver 中配置,并使用 mod_proxy 将流量传递到应用程序服务器。当用户成功登录 SSO 并将请求传递给部署在 tomcat 中的 web 应用程序时,要求标准 tomcat 登录。

如何在使用 siteminder webagent 进行身份验证时停止询问 tomcat 标准登录以及如何将角色传递给应用程序。

我们正在使用默认的 tomcat 管理器 Web 应用程序,并且我们正在尝试使用 Siteminder Web 代理启用 SSO。

我已经完成了这个.. https://communities.ca.com/thread/97599955#comment-97600618 但我不知道角色将如何传递给应用程序。

标签: authenticationauthorizationtomcat7single-sign-onsiteminder

解决方案


简短的回答是,在您当前的设置中无法断言 J2EE 主体。使用反向代理时,您的应用程序必须查看 SM http 请求标头以确定用户身份和角色(通过 SM 响应)。

您的选择是:

  1. 更改应用程序以查找标头而不是 J2EE 安全约束(即从应用程序的部署描述符或注释中删除约束)
  2. 编写一个自定义的 Tomcat Valve 来完成检查 SM http 请求头的工作,并在应用程序之前在那里断言 J2EE 主体
  3. CA SSO 确实有一个 Tomcat 代理,它直接安装到 Tomcat 服务器上——我已经有十年没有使用它了,所以我不确定它的工作情况或它是否断言 J2EE 主体
  4. [披露 - 这是自我宣传] 查看我公司的 CA SSO 扩展,它们完全支持 Tomcat、JBoss/Wildfly、WebSphere 等中的 J2EE,以及将 CA SSO 强制作为 Servlet 过滤器直接嵌入到您的应用程序中: https:// www.idfconnect.com/products/sso-rest/


推荐阅读