gpt4 book ai didi

spring-security - 使用 Spring Security Saml 和 SP 应用程序的无状态 session

转载 作者:行者123 更新时间:2023-12-03 23:22:23 32 4
gpt4 key购买 nike

我尝试从以下位置运行引导示例 spring security saml boot,
https://github.com/vdenotaris/spring-boot-security-saml-sample

我能够运行它并与身份提供者集成。

但是,我看到每次都会创建一个 session ,并且在用户退出之前一直保持不变。

我在 Spring Boot 中使用基于资源的服务,因此不想要 session 的开销。

我尝试将以下行添加到配置方法中,
http.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS);

但是,使用此设置,我总是被要求登录身份提供者。

如果我登录,它会返回页面,要求我循环再次登录。

我不确定禁用 session 时这是否是正确的行为。

任何人都可以为我提供正确的方法来使用带有 spring 安全 saml 扩展和服务提供程序应用程序的无状态 session 。

谢谢,

斯里

最佳答案

对于 SAML 身份验证部分,您肯定需要一个 session ,因此您有 2 个选项:

1) 在您的应用程序中有 2 种不同的安全上下文,一种用于 SAML 身份验证,另一种用于无状态服务。不确定您将如何对您的服务进行身份验证,但它必须具有某种 token 身份验证才能使其成为无状态。
您可以定义 2 WebSecurityConfigurerAdapter并覆盖 configure(HttpSecurity http)方法。然后使用 http.requestMatchers("/saml/**")在 saml 配置和 http.requestMatchers("/service/**") 中在您的服务配置和 /saml 下的所有内容中将通过 saml auth 以及 /service 下的所有内容会经历你所拥有的任何其他东西。

2) 在 SAML 配置中添加更多过滤器(在 saml 过滤器之前),以便它使用不同类型的身份验证(例如基于 token ),并且只要此过滤器可以生成有效的 Authentication在 saml 过滤器之前,您应该很好。

你也可以查看这个库:https://github.com/ulisesbocchio/spring-boot-security-saml简化您的 SAML 配置

关于spring-security - 使用 Spring Security Saml 和 SP 应用程序的无状态 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38068962/

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