展开
拓展 关闭
订阅号推广码
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 @ 2022-06-28 15:01  DogLeftover  阅读(40)  评论(0编辑  收藏  举报