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

标签 java spring spring-security 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 或其他内容时,会出现登录对话框,但我没有收到内容,这是正确的行为。

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

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

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

最佳答案

我找到了解决方案,感谢 dur 提到检查请求。问题是,firefox 自动发送对 favicon.ico 文件的请求,该路由不被允许,这就是为什么我收到提示。

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

关于java - 如何防止Spring Security在每个页面都要求输入密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53957882/

相关文章:

java - 使用 SpringMVC 初始化 Spring-Security

java - 设置 JavaFX TextArea 的制表符间距/大小可视化

Java Swing 响应式绝对定位

java - 产生 = "application/pdf"不适用于 Spring Boot

java - Spring:确保首先初始化特定的 bean

grails - 缺少盐轮错误

java - JUnit - 所有测试类何时执行的监听器?

java - HibernatebulkUpdate() 以 List 作为参数

java - 在 Spring 表单中使用 AJAX 调用

spring-security - 通过 SockJS 通过 STOMP 进行安全 WebSocket 升级失败,升级 header 无效