展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

静态资源放行

  • 在demo02的基础上开发
  • 在spring boot整合security的项目中,是不能直接通过控制层跳转到resource目录下的html页面的
  • 只有我们在security配置类中指定了403页面或登录页面时,才能跳转到这2个页面
http.exceptionHandling().accessDeniedPage("/403.html");
http.formLogin().loginPage("/login.html")
  • 前期准备
# 在security配置类中指定该接口需要role_admin角色权限
.antMatchers("/test").hasRole("ADMIN")
# 在CustomUserDetailsService中,该用户拥有的权限为admin
# 编写css、js文件,放置1张图片
# 将css、js、图片引入403.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
<link rel="stylesheet" href="./css/demo.css" type="text/css">
<script type="text/javascript" src="./js/demo.js"></script>
</head>
<body>
<p class="cc">403!</p>
<img src="./imgs/mm01.jpg" style="height: 100px; width: 200px">
<script>
fun()
</script>
</body>
</html>
# 当访问test接口时,没有权限,就会跳转到403.html页面
# 测试静态资源是否放行成功

  • 放行静态资源方式1,参考
# security配置类中添加如下,测试成功
.antMatchers("/**/*.css","/**/*.js","/imgs/**").permitAll()
  • 放行静态资源方式2,参考
# security配置类中添加如下,测试成功
.antMatchers(loadExcludePath()).permitAll()
@Override
public void configure(WebSecurity web) {
web.ignoring().antMatchers(loadExcludePath());
}
private String[] loadExcludePath() {
return new String[]{
"/**/*.css",
"/**/*.js",
"/imgs/**"
};
}
posted @   DogLeftover  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示