创建会话无状态用法

我希望更改为create-session="stateless"在我的Web应用程序中实现无状态Spring Security的目的是结束,但事实并非如此。

进行了此更改后,由于(根据我的假设)Spring安全性在会话中不存储任何内容,并且无法对安全的Web请求进行身份验证,因此Spring安全性似乎无法正常工作。

我如何利用此无状态功能?

我似乎尚未找到任何有关如何为无状态Web应用程序实现无状态Spring安全的示例。

谢谢 !

回答:

我有一个基于Spring的webapp,它具有完全无状态的安全性,使其工作的唯一方法是完全禁用会话创建(使用create-session="never")。这会强制对每个请求进行重新身份验证,因此,你还需要将webapp配置为使用HTTP Basic Auth或Digest Auth(当然是通过HTTPS),因为这些不需要特别复杂的协商(相比之下,表单)的登录和OAuth都需要一个会话,因为它们用于建立身份验证上下文的过程要复杂得多。这意味着你将需要在元素<security:http-basic />内部放置一个类似的<security:http>元素。

(这样做的好处是,它启用了非常简单的客户端库,因为它们不必执行cookie /会话管理。代价是处理上的一些开销-建立用户要参与的角色集的建立可以根据每个请求重新计算-以及可以使用哪种身份验证机制的一些限制。)

以上是 创建会话无状态用法 的全部内容, 来源链接: utcz.com/qa/398489.html

回到顶部