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

如何检查IDP是否仍然存在有效会话?

李兴安
2023-03-14

我已经使用Spring Security和SAML实现了SSO。以下是目前为我工作的内容:

当我尝试访问SP上的任何资源时,如果我还没有登录,我会被重定向到我的IdP(在我的情况下是idp.ssocircle.com)。在IDP成功验证后,我会被重定向回SP,并授权传入的SAML响应并为相应的用户创建一个会话。到目前为止,一切都很酷!但是当我从IDP注销时(通过从idp.ssocircle.com外部单击注销),我应该无法访问我的SP,这在我的情况下不会发生。现在我想做的是可能编写一个新的过滤器,在处理SP上的任何请求之前检查IDP上的有效会话。我搜索了很多,但找不到任何解决我问题的方法。

请就如何实现此过滤器或是否有其他方法执行此操作提供意见?任何建议都值得赞赏。

共有1个答案

傅英喆
2023-03-14

您的IDP是否支持并正确初始化单注销?如果是这样,它可能与此问题有关,只需更新到最新的Spring SAML版本或将注销处理程序中的属性无效Http会话更改为true:

<bean id="logoutSessionHandler"
  class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler">
  <property name="invalidateHttpSession" value="true"/>
</bean>
 类似资料:
  • 问题内容: 我想检查浏览器是否仍然存在,如果不存在,那么我想打开一个新的浏览器!网络驱动程序中是否有可用的api来检查浏览器是否仍然存在? 问题答案: 调用后,将driver的值设置为 但是,如果调用,它将驱动程序的值设置为 因此,如果您在调用 driver.quit() 之后检查浏览器窗口,则可以通过以下实现知道。

  • 问题内容: 每当我打开应用程序时,我都想检查自动续订订阅状态。 这是为了确保用户仍订阅了该服务。我该如何实现? 有什么想法吗?谢谢 PS:我正在使用 问题答案: 这是几种进行收据验证的方法,以检查是否已将用户授予订阅。这是正确执行此操作的两种方法: 如此处所写,在本地进行收据验证。 远程执行收货验证,因为它是写在这里。提到不应将收据发送到应用程序内的App Store。简短的摘要: 您的应用会将收

  • 问题内容: 如何检查会话是否无效?API中没有方法。 一样吗?如果没有,有什么区别? 问题答案: 如果您想根据请求知道它是否有效: 如果您存储了对该会话的引用并需要验证,我会

  • 问题内容: 我有一个存储在变量var中的文件描述符。如何在以后的阶段检查该描述符是否有效? 现在,我想检查var1(仍保留打开的描述符)是否仍然有效。是否有任何API? 问题答案: 是检查是否有效的打开文件描述符的最便宜的规范方法。如果需要大量检查,则使用零超时并将成员设置为0并在返回后进行检入更为有效。 话虽如此,“检查给定资源句柄是否仍然有效”操作几乎总是根本上是不正确的。释放资源句柄后(例如

  • 问题内容: 是否仍然有效?我想知道本书中描述的思想,概念和实现是否仍与最新的Java版本兼容。 我问是因为最新版本是2006年完成的。 问题答案: 是的,在我看来仍然有效。从6到7的变化不大。Fork- join是一项新功能,非常适合分治法式的问题。但是本书中所有现有的东西,例如同步,易失性,servlet,仍然非常有效。

  • 我正在构建一个对Azure AD进行OAUTH身份验证的Web应用程序。我的意思是,您通过您的Azure AD/Office e365帐户登录我的应用程序。登录成功后,我将Azure AD用户的GUID与我的Mysql数据库中的用户匹配。我在用户登录的会话信息中设置。 我使用这个howto作为它的基础:https://kv AES . WordPress . com/2016/10/21/azur