authentication - 成功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 但我不知道角色将如何传递给应用程序。
解决方案
简短的回答是,在您当前的设置中无法断言 J2EE 主体。使用反向代理时,您的应用程序必须查看 SM http 请求标头以确定用户身份和角色(通过 SM 响应)。
您的选择是:
- 更改应用程序以查找标头而不是 J2EE 安全约束(即从应用程序的部署描述符或注释中删除约束)
- 编写一个自定义的 Tomcat Valve 来完成检查 SM http 请求头的工作,并在应用程序之前在那里断言 J2EE 主体
- CA SSO 确实有一个 Tomcat 代理,它直接安装到 Tomcat 服务器上——我已经有十年没有使用它了,所以我不确定它的工作情况或它是否断言 J2EE 主体
- [披露 - 这是自我宣传] 查看我公司的 CA SSO 扩展,它们完全支持 Tomcat、JBoss/Wildfly、WebSphere 等中的 J2EE,以及将 CA SSO 强制作为 Servlet 过滤器直接嵌入到您的应用程序中: https:// www.idfconnect.com/products/sso-rest/
!
推荐阅读
- mongodb - MongoDB按月和年统计属性和分组的值
- javascript - javascript数组逻辑无法正确呈现与地图组件的反应
- java - JAVA:使 TLS DFS 适应我拥有的变量(源索引,目标索引,是诊断(布尔)
- python - 我不知道如何解决这个属性错误:AttributeError: 'str' object has no attribute 'grid'
- ssl - setupletsencrypt ClusterIssuer with terraform
- javascript - 更改 React.js 组件文件的背景颜色
- php - 发送电子邮件时 PHP 代码不起作用
- javascript - 您如何使用 javascript 读取 div 的旋转?
- github - 如何在 Visual Studio Code 中禁用 GitHub 弹出窗口
- firebase - 如何从firebase实时数据库Flutter解析对象列表