当前位置: 首页 > 知识库问答 >
问题:

我如何相信SiteMinder HTTP标头没有被篡改?

郎鸿
2023-03-14

一般来说,我对SiteMinder和SSO完全陌生。我整个下午都在SO和CA的网站上搜寻一个基本的例子,但都找不到。我不在乎设置或编程SM或诸如此类的东西。所有这些都已经由其他人完成了。我只想调整我的JS web应用程序,以使用SM进行身份验证。

我知道SM会添加一个HTTP头,其中包含一个密钥,比如SM\u USER,它会告诉我用户是谁。我不明白的是--是什么阻止任何人自己添加这个标题并完全绕过SM?我必须在服务器端代码中输入什么来验证SM\u用户是否真的来自SM?我想涉及安全cookies。。。

共有3个答案

郎羽
2023-03-14

所有Siteminder架构确实都假设应用程序只需信任“SM\uu”头。

实际上,这可能还不够,具体取决于您的应用程序的架构。基本上,您有3种情况:

  • Web代理安装在应用程序运行的Web服务器上(Apache/PHP应用程序的典型情况):如上所述,您可以信任标头,因为没有Web代理过滤,任何请求都无法到达应用程序
  • Web代理安装在与应用程序运行的Web服务器不同的Web服务器上,但安装在同一台机器上(典型情况:SM代理安装在为JEE应用程序服务器提供服务的Apache前端):您必须确保没有任何请求可以直接到达应用程序服务器。要么将应用程序服务器绑定到环回接口,要么过滤服务器上的端口
  • Web代理在应用程序前面的反向代理上运行。同样的评论。这里唯一的解决方案是在应用程序上实现一个IP过滤器,以便只允许来自反向代理的请求
商棋
2023-03-14

因为所有流量都应该通过Siteminder Web Agent,所以即使用户设置了此标头,它也会被覆盖/删除

郭修平
2023-03-14

安装在Web服务器上的SM Web代理旨在拦截所有流量并检查资源请求是否。。。

>

  • 受SiteMinder保护

    如果用户具有有效的SMSESSION(即已验证)

    如果1和2为true,则WA将检查Siteminder策略服务器,以查看用户是否有权访问请求的资源。

    为了确保没有用户信息的HTTP头注入,SiteMinder WebAgent将重写所有特定于SiteMinder的HTTP头信息。本质上,这意味着您可以“信任”WebAgent提供的有关用户的信息,因为它是由Web Agent在服务器上创建的,而不是传入请求的一部分。

  •  类似资料:
    • 我有一个Spring启动应用程序,它定义了: 写入kafka主题的REST控制器,STREAM_TOPIC_IN_QQQ 一个从STREAM_TOPIC_IN_QQQ(group pId="bar")和日志读取的KafkaListener 查看主题并记录的KStream,将其转换为另一种类型,然后将其写入STREAM_TOPIC_OUT_QQQ 另一个从STREAM_TOPIC_OUT_QQQ读取

    • 我遇到了一个关于Pact-js和POST主体的奇怪问题。 背景: 使用者端 -我有一个我正在尝试测试的NodeJs应用程序 -我配置了Pact并设置了适当的框架 -所有测试运行成功并生成了合同 提供者端: -同样,我有一个我正在尝试测试的NodeJs应用程序 -Pact已经设置好并框架就位 -当我运行测试时,所有GET请求都运行成功,但是所有POST都报告失败。 问题: -当我回显从Pact(ve

    • 我按照 swagger 文档中的以下链接为我的 rest api 创建了 swagger json。 https://swagger . io/docs/specification/2-0/descripting-request-body/ 在我的 rest API 中,我有与服务请求一起的请求正文和 http 标头,如内容类型和授权。 我想知道是否有办法在swagger json中包含请求正文和

    • 问题内容: 我已经向React页面发出了请求,我需要从请求中获取标头。 我通过URL调用页面: http:// localhost / dashboard 然后设置标头,例如authcode = 1234。 然后,我使用以下路线加载页面: 是否有类似this.props.header的东西,我可以在页面构造函数中调用? 问题答案: 您无法通过javascript发送http请求而无法获取当前页面标

    • 问题内容: 将web.xml移植到Java配置后出现以下问题 根据一些Spring参考,尝试了以下尝试: 所选择的值来自有效的web.xml过滤器: 有什么想法为什么Spring java config方法不能像web.xml文件那样工作? 问题答案: 将CorsMapping从更改方法。 为整个应用程序启用CORS很简单: 你可以轻松更改任何属性,以及仅将此CORS配置应用于特定的路径模式: 控