基本身份验证,无需密码验证

时间:2019-02-28 07:05:20

标签: java spring-boot spring-security

我配置WebSecurityConfig,在内存中创建用户

SEC_TO_TIME(SUM(TIME_TO_SEC(column_name)))

配置WebSecurityConfig

@Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication()
                .withUser("username")
                .password(passwordEncoder().encode("password"))
                .authorities("READ_ORDERS")
                .roles("USER");
    }

当我第一次尝试使用无效的凭据进行授权时-401例外,还可以。 但是在成功授权之后,当我使用无效的用户名和密码时, 我也授权。 可能是什么问题?

1 个答案:

答案 0 :(得分:0)

这就是基本身份验证的工作方式。成功登录后,将始终发布有效凭据。

Spring安全与SessionCreationPolicy一起使用,默认策略为IF_REQUIRED。这意味着spring如果没有会话,则创建会话,这是必需的。

为了解决您的问题,您必须更改此政策。

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

重新启动服务器,然后重试。