【问题标题】:Spring Security and CAS logout redirecting problemSpring Security 和 CAS 注销重定向问题
【发布时间】:2011-04-08 21:14:42
【问题描述】:

我需要使用 Spring Security 在 Java 中实现 Sign Sign Out。 CAS 需要从我的应用程序中访问

https://www.home.com/cas/logout.cfm?service=myService&redirect=http://encoded.url.of.my.site

我将此 URL 放入 LogoutFilter 的构造函数参数(作为 logoutSuccessUrl),因此当我在我的站点上单击注销 URL 时,Spring Security 会清除会话并将我重定向到通过 HTTPS 的 URL。它做了应该做的事情,并尝试将我重定向回我网站的欢迎地址。但是,此地址是基于 HTTP 协议的,而不是基于 HTTPS 的。因此,无论是因为在访问该安全页面时在参数中发送了一些信息,还是因为重定向回非安全页面,Firefox 都会给我一条消息:

虽然此页面已加密,但 您输入的信息是 通过未加密的连接发送 并且很容易被第三个人阅读 聚会。

好的,这很清楚,但是... 那么使用 SSO 进行日志记录是如何工作的呢?它基本上做同样的事情。我的网站通过 https 重定向到 SSO 的登录页面,成功后重定向回我的网站,该网站通过普通 http。我怎样才能摆脱该消息?

【问题讨论】:

    标签: java firefox redirect spring-security


    【解决方案1】:

    好的,经过一番研究,我得到了答案。仅当重定向中有一些发布数据时,Firefox 才会抛出此消息,这发生在从 HTTPS 到 HTTP 的过程中。此消息不能禁用,Firefox 的源代码中有相应的注释。发布的数据(以 XML 的形式)应该允许使会话无效。这也使 CAS 能够使会话无效,而无需应用程序用户的任何操作(CAS 将数据发布到该 URL 并且应用程序使用户的会话无效)。

    登录没有抛出任何消息,因为它是一个简单的重定向,没有任何数据。

    【讨论】:

      猜你喜欢
      • 2016-07-05
      • 2015-05-07
      • 2017-04-22
      • 2016-07-21
      • 2013-05-25
      • 2011-03-09
      • 2011-03-05
      • 2015-03-10
      • 1970-01-01
      相关资源
      最近更新 更多