Spring安全缓存基本身份验证?不验证后续请求

Posted

技术标签:

【中文标题】Spring安全缓存基本身份验证?不验证后续请求【英文标题】:Spring security caching basic auth? Not verifying subsequent requests 【发布时间】:2016-12-25 10:24:16 【问题描述】:

我正在使用带有基本身份验证(弹簧安全)的弹簧靴。我正在做一些测试,似乎如果我使用正确的基本身份验证用户名和密码(通过邮递员)向我的 REST 端点发送一个请求,然后我删除用户名和密码或将其设置为不正确的,我的所有请求仍然经过身份验证?

我希望 Spring Security 对每个请求进行检查,如果 auth 标头丢失或更改,它应该返回 HTTP 401。有人可以帮忙解释为什么会这样吗?是否正在进行某种缓存?我正在使用 inMemoryAuthentication()。我也禁用了 CSRF。

【问题讨论】:

【参考方案1】:

我想我找到了解决方案。您必须将会话设置为无状态。像这样:

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

【讨论】:

发生了什么?邮递员是否在使用 Spring Security cookie?

以上是关于Spring安全缓存基本身份验证?不验证后续请求的主要内容,如果未能解决你的问题,请参考以下文章

后续请求的基本 HTTP 身份验证

ldap spring security http基本身份验证

使用spring boot(安全)和keycloak启用角色身份验证?

从安全上下文中获取当前经过身份验证的用户作为 Spring Cache 的密钥

Spring MVC REST + Spring Security + 基本身份验证

在 Spring OAuth2 中配置安全性:身份验证请求的访问被拒绝