如何防止Spring Security在每个页面上都要求输入密码

时间:2018-12-28 11:30:05

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

我正在尝试为我的REST API实现基本的Spring Security配置,并且用户名/密码提示出现在我已允许所有请求的页面上。

这是我的安全配置:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        .authorizeRequests()
        .antMatchers("/", "/jobs").permitAll()
        .anyRequest().authenticated()
        .and()
        .httpBasic();
}

localhost:8080 /和localhost:8080 / jobs应该可以访问,而无需登录。对其他路由的任何请求都需要身份验证。
现在,当在浏览器中打开root或/ jobs时,我得到了页面的内容,但是我也被要求登录。可以简单地关闭对话框,但这很烦人。 当我打开/ test或其他内容时,将出现登录对话框,但我没有得到内容,这是正确的行为。

在使用了allowtAll()的页面上,如何摆脱这些对话框?

这是当前情况的屏幕截图。内容已100%加载。 screenshot

编辑: 我找到了解决方案,这要感谢dur提到检查请求。问题是,firefox自动发送对favicon.ico文件的请求,不允许使用此路由,这就是为什么我得到提示的原因。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案,这要感谢dur提到检查请求。问题是,firefox自动发送了一个请求favicon.ico文件的请求,不允许使用此路由,这就是为什么我得到提示的原因。

在antMatchers()方法中添加“ /favicon.ico”后,一切正常。 screenshot