gpt4 book ai didi

openssl - Spring saml - 在SP上启动登录时如何记住请求参数,并在IdP响应后处理它们

转载 作者:行者123 更新时间:2023-12-04 09:35:17 25 4
gpt4 key购买 nike

我想记住我网站 (SP) 的第一个请求中的 url 请求参数,并在 IdP 响应后使用它们。

我正在使用 spring-saml 扩展并考虑 relayState 属性,但找不到如何使用请求中的参数构建它的示例。

我需要在 sso 身份验证过程之后将用户重定向到目标页面(应用程序模块)取决于第一个请求中的内容。

最佳答案

Spring SAML 示例应用程序开箱即用。当用户点击受 Spring Security 保护并需要身份验证系统的页面时:

  • 通过将信息存储到 HTTP session
  • 中,记住用于调用页面的参数(在 Spring Security 中使用 ExceptionTranslationFilterHttpSessionRequestCache 自动完成)
  • 调用 Spring SAML 的入口点(SAMLEntryPoint 类),将用户重定向到 IDP,可能在 IDP 选择后
  • 用户在 IDP 进行身份验证并被重定向回您的应用程序
  • Spring SAML 验证响应并调用 AuthenticationSuccessHandler,它(在示例应用程序中)的类型为 org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler
  • 成功处理程序检查是否有存储的请求(在第一步中放置),如果有,它使用户的浏览器使用与最初
  • 相同的参数集打开记住的页面
  • 如果经过身份验证的用户有权访问页面
  • ,则安全检查现在应该通过了。

    您当然可以按照您的意图使用中继状态来实现这一点。设置继电器状态的正确方法是扩展 SAMLEntryPoint , 覆盖方法 getProfileOptions并在返回的 WebSSOProfileOptions 中返回您想要的继电器状态目的。

    然后您可以更改 AuthenticationSuccessHandlerorg.springframework.security.saml.SAMLRelayStateSuccessHandler在成功认证后重定向到从中继状态返回的 URL。

    关于openssl - Spring saml - 在SP上启动登录时如何记住请求参数,并在IdP响应后处理它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26012718/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com