当前位置: 首页 > article >正文

SpringSecurity设置白名单

   Spring Security 访问权限系列文章:

《SpringSecurity基于配置方法控制访问权限:MVC匹配器、Ant匹配器》

《SpringSecurity基于注解实现方法级别授权:@PreAuthorize、@PostAuthorize、@Secured》

《SpringSecurity设置白名单》

白名单(Whitelist)是一个安全术语,它指的是一个明确的列表或集合,其中包含了被系统、程序或网络明确授权允许访问或执行的对象。这些对象可以是用户、IP地址、电子邮件地址、域名、文件、进程或其他任何实体。

在 Spring Security 中设置白名单(即允许某些特定的URL路径无需认证即可访问)是一项常见的需求。你可以通过配置 WebSecurityConfigurerAdapter 来实现这一点。以下是一个示例,展示了如何配置 Spring Security 以允许特定的 URL 路径无需认证即可访问:

【示例】在 WebSecurityConfig (Spring Security 配置类)中,设置 HTTP 访问白名单。

/**
 * Spring Security 配置类
 * @author pan_junbiao
 **/
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
{
    //公开权限的路径(白名单)
    private static final String[] WHITE_LIST = {
            "/user/getUserInfo",
            "/js/**",
            "/css/**",
            "/captcha.jpg"
    };
    
    @Override
    protected void configure(HttpSecurity http) throws Exception
    {
        http.authorizeRequests()
                .antMatchers(WHITE_LIST).permitAll() //设置白名单并公开其权限(公开的权限必须放在最上面)
                .anyRequest()     //匹配所有的请求
                .authenticated(); //所有匹配的URL都需要被认证才能访问
    }
}

方法说明:

  • antMatchers(String):通过 Ant 匹配器,匹配 HTTP 端点的访问路径。
  • permitAll():无条件允许一切用户访问。


http://www.kler.cn/a/557924.html

相关文章:

  • 06.Docker 镜像制作和管理
  • Orcale、MySQL中参数类型的详解和运用场景(不带示例)
  • 收到线上服务器出现cpu告警一般怎么排查?
  • 21.《SpringBoot 异步编程@Async与CompletableFuture》
  • Docker 与 CI/CD:自动化构建和部署
  • Linux中的查看命令
  • 【排序算法】六大比较类排序算法——插入排序、选择排序、冒泡排序、希尔排序、快速排序、归并排序【详解】
  • ThinkORM模型静态方法create好像对MongoDB不支持
  • always和assign语法区别
  • 深入学习 XML:语法、约束、解析及相关技术
  • Git 中 rebase, squash, amend 的作⽤
  • 【回溯算法2】
  • 酵母细胞壁市场报告:探索潜力无限的生物资源宝库
  • javaEE-14.spring MVC练习
  • Python 高级数据结构操作全解析:从理论到实践
  • 智能硬件-01智能停车场
  • 案例-14.文件上传-简介
  • 大模型提示词工程实战
  • MySql面试宝典【刷题系列】
  • 审计级别未启用扩展模式导致查询 DBA_AUDIT_TRAIL 时 SQL_TEXT 列为空