使用Postman App的基本HTTP身份验证

时间:2018-07-30 07:44:53

标签: spring-security postman http-basic-authentication

我无法理解一件事。 我在服务器上使用http-basic身份验证。

我的代码是:

@Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                    .authorizeRequests()
                    .antMatchers("/user/save")
                    .permitAll()
                .and()
                    .authorizeRequests()
                    .antMatchers("/user/**")
                    .hasRole("USER")
                .and()
                    .authorizeRequests()
                    .antMatchers("/admin/**")
                    .hasRole("ADMIN")
                .and()
                    .httpBasic()
                .and()
                    .logout()
                    .permitAll()
                .and()
                    .csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse());
    }

我对/user的请求映射是:

@GetMapping
public Principal user(Principal user){
    return user;
}

当我在邮递员应用程序中使用用户名和密码查询端点/user时,会得到所需的经过身份验证的结果。

但是,当我使用故意的错误密码更新标头时,我仍然仍然获得经过身份验证的结果。我不明白为什么会这样。

此外,端点POST上的/logout请求失败,并显示:

{
    "timestamp": "2018-07-30T07:42:48.172+0000",
    "status": 403,
    "error": "Forbidden",
    "message": "Forbidden",
    "path": "/logout"
}

我听不懂。任何帮助表示赞赏。

0 个答案:

没有答案