Spring security Spring安全性(基本身份验证)-接收401个未经授权的正确凭据

Spring security Spring安全性(基本身份验证)-接收401个未经授权的正确凭据,spring-security,basic-authentication,Spring Security,Basic Authentication,我试图在我使用SpringBoot4.3开发的REST服务上添加一个基本的身份验证安全层 我主要做了两件事: 实现UserDetailsService界面以提供用户详细信息。在这里,我从一个文本文件中读取用户名和编码(通过Bcrypt)密码 我在我的@EnableWebSecurity带注释的安全配置类中声明了一个bean,如下所示: @Bean public BCryptPasswordEncoder getPasswordEncoder () { return new BCryptP

我试图在我使用SpringBoot4.3开发的REST服务上添加一个基本的身份验证安全层

我主要做了两件事:

  • 实现
    UserDetailsService
    界面以提供用户详细信息。在这里,我从一个文本文件中读取用户名和编码(通过Bcrypt)密码

  • 我在我的
    @EnableWebSecurity
    带注释的安全配置类中声明了一个bean,如下所示:

    @Bean
    public BCryptPasswordEncoder getPasswordEncoder () {
        return new BCryptPasswordEncoder();
    }
    
    返回特定的密码编码器

  • 我正在使用ARC(用于Chrome)和Firefox的rest客户端测试身份验证

    问题如下:

  • 当我第一次输入凭据并成功进行身份验证时,响应为
    200 OK
    。这对许多用户来说是正确的。换句话说,只要我提供正确的凭证对,我就会得到
    200
    响应
  • 但是,在使用错误凭据的单个请求之后,身份验证过程就会中断。有时我会得到
    200
    ,有时甚至是正确的凭证也会得到
    401
    。此时,其他用户的身份验证也会受到影响
  • 第2步出现一个奇怪的日志:

    WARN 6813 BCryptPasswordEncoder : Empty encoded password
    
    为了详细说明密码的散列,我运行了Bcrypt密码编码器实用程序,对一组密码进行了编码,并将它们手动保存在相应用户名的文本文件中

    我不确定问题出在哪里:是缓存凭据的客户端还是缓存错误主体的Spring安全上下文,还是用户详细信息服务出现故障(不过日志中没有此类异常)

    感谢您的帮助。如果您需要任何进一步的具体信息,请告诉我