繁体   English   中英

禁用会话管理和无状态会话管理有什么区别?

[英]What is difference between disabled and stateless session management?

以下选项之间有什么区别:

http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)

http.sessionManagement().disable()

似乎在第一种情况下,将添加SessionManagementFilter而不执行任何操作。 在第二种情况下,将完全不添加。 因此,如果不需要会话,最好总是使用第二个选项。 但是我不确定。

行为方面,我注意到,正如您所说,将其设置为STATELESS会向SecurityBuilder添加SessionManagementConfigurer ,而禁用它只会将null添加为配置程序。

这会影响在配置安全性时添加的SessionAuthenticationStrategy 例如,即使对于无状态情况,启用CSRF保护也将添加CsrfAuthenticationStrategy ,但对于禁用的会话管理则不会。

综上所述:禁用它根本不会执行会话身份验证策略,但是启用它会在无状态情况下对每个经过身份验证的请求执行它。

希望对您有所帮助,这是基于个人经验(配置,尝试错误,调试)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM