SpringBoot+SpringSecurity系列六:静态资源放行

第一步:准备静态资源

  • 在resources/static/imgs下放置一张名称为mm01.jpg的图片
  • 在resources/static/css下创建文件demo.css
.cc{
    font-size: 38px;
    color: red;
}
  • 在resources/static/js下创建文件demo.js
function fun() {
    alert(3+2);
}

第二步:修改index.html

<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
  <meta charset="UTF-8">
  <title>首页</title>
  <link type="text/css" th:href="@{/css/demo.css}" rel="stylesheet"/>
</head>
<body>
<h2>首页</h2>
<img th:src="@{/imgs/mm01.jpg}" alt="">
<script th:src="@{/js/demo.js}"></script>
<script>
fun()
</script>
</body>
</html>

第三步:修改SpringSecurity配置文件

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
            //授权
            .antMatchers("/openIndex").permitAll()//toLogin放行:不需要拦截,可以随便访问
            .antMatchers("/**/*.css","/**/*.js","/imgs/**").permitAll() //放行静态资源
            .anyRequest().authenticated()//其它请求都必须认证后才能访问
            .and()
            //关闭防火墙:为了保证完整流程可用关闭CSRF安全协议
            .csrf().disable();
}
### Spring Boot 集成 Spring Security 后出现 404 错误的原因分析 当应用程序集成了 Spring Security 并遇到 `HTTP 404 Not Found` 的错误时,通常是因为安全配置不当导致请求被拦截或未正确转发。具体原因可能包括: #### 安全过滤器链顺序不正确 如果自定义的安全过滤器或其他过滤器注册到了错误的位置,则可能导致某些路径无法正常访问[^1]。 ```java @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/css/**", "/js/**").permitAll() // 放行静态资源 .anyRequest().authenticated(); // 所有其他请求都需要认证 http.formLogin(); // 确保Zuul路由优先于Spring Security处理 http.addFilterBefore(new ZuulPreFilter(), UsernamePasswordAuthenticationFilter.class); } } ``` #### 路由配置冲突 在使用 Spring Cloud Netflix Zuul 进行 API 网关管理的情况下,可能存在路由规则设置不合理的情况,使得部分 URL 请求未能成功匹配到目标服务。 #### 解决方案建议 为了有效解决问题,可以采取以下措施: - **检查日志输出**:查看控制台中的调试信息,特别是关于 HTTP 请求和响应的状态码以及 URI 映射情况。 - **验证权限配置**:确认已为必要的端点授予适当级别的访问权限,并且这些规则不会阻止合法用户的操作。 - **调整过滤器执行次序**:确保任何额外安装的过滤器都在默认的安全机制之前运行,以便它们能够影响最终决策过程。 - **测试API网关功能**:对于采用微服务体系结构的应用程序来说,单独启动各个组件并逐一检验其连通性和行为表现是非常重要的一步。 通过上述方法应该可以帮助定位并修复由于引入了 Spring Security 组件而引发的页面找不到的问题。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁云亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值