我需要使用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。我怎样才能摆脱那条消息?
答案 0 :(得分:1)
好的,经过一些研究后我得到了答案。仅当重定向中存在一些发布数据时,Firefox才会抛出此消息,该数据从HTTPS发送到HTTP。此消息无法禁用,Firefox'es源代码中有相应的注释。发布的数据(以XML格式)应该允许会话无效。这也使CAS能够在没有应用程序用户的任何操作的情况下使会话无效(CAS将数据发布到该URL并且应用程序使用户的会话无效)。
登录时没有抛出任何消息,因为它是一个简单的重定向,没有任何数据。