首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用.ignoring()的Spring WebSecurity配置不起作用

在Spring框架中,Spring Security是一个用于身份验证和授权的强大框架。它提供了一种简单且灵活的方式来保护应用程序的安全性。在Spring Security中,可以使用WebSecurityConfigurerAdapter类来配置安全性规则。

在配置Spring WebSecurity时,可以使用.ignoring()方法来忽略某些URL或URL模式,使其不受Spring Security保护。然而,有时候使用.ignoring()方法配置的URL或URL模式可能不起作用的原因可能有以下几点:

  1. 配置顺序问题:在WebSecurityConfigurerAdapter中,配置的顺序非常重要。如果在配置中使用.ignoring()方法的位置不正确,可能会导致该配置不起作用。通常,应该将.ignoring()方法的调用放在最后,以确保它们不会被其他配置覆盖。
  2. URL模式匹配问题:.ignoring()方法接受一个或多个URL模式作为参数。这些URL模式可以使用Ant风格的通配符来进行匹配。如果URL模式不正确或与实际URL不匹配,.ignoring()方法可能不起作用。确保URL模式正确并与要忽略的URL匹配。
  3. 配置错误:可能是由于配置错误导致.ignoring()方法不起作用。检查其他安全配置,确保没有其他配置覆盖了.ignoring()方法的效果。

总结起来,如果使用.ignoring()方法的Spring WebSecurity配置不起作用,可以检查配置顺序、URL模式匹配和其他安全配置是否正确。以下是一个示例配置,演示如何正确使用.ignoring()方法:

代码语言:txt
复制
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/public/**").permitAll()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .and()
            .httpBasic();

        http
            .csrf().disable()
            .ignoring()
                .antMatchers("/public/**"); // 忽略以/public/开头的URL
    }
}

在上述示例中,.ignoring()方法被正确地放置在配置的最后,并且使用了正确的URL模式来忽略以/public/开头的URL。这样配置后,以/public/开头的URL将不受Spring Security保护。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法提供相关链接。但腾讯云提供了一系列云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 如何利用自定义注解放行 Spring Security 项目的接口

    但是每当需要当需要放行时,都需要在security配置类中进行修改,感觉非常不优雅。 例如这样: 图片 所以想通过自定义一个注解,来进行接口匿名访问。...第一种就是在 configure(WebSecurity web)方法中配置放行,像下面这样: @Override public void configure(WebSecurity web) throws...如果您正在学习Spring Boot,那么推荐一个连载多年还在继续更新免费教程:http://blog.didispace.com/spring-boot-learning-2x/ 在我们使用 Spring...Security 时候,有的资源可以使用第一种方式额外放行,不需要验证,例如前端页面的静态资源,就可以按照第一种方式配置放行。...我这里使用是configure(WebSecurity web)放行方式。

    58630

    Spring Security 实战干货:自定义配置类入口WebSecurityConfigurerAdapter

    前言 今天我们要进一步学习如何自定义配置 Spring Security 我们已经多次提到了 WebSecurityConfigurerAdapter ,而且我们知道 Spring Boot 中自动配置实际上是通过自动配置包下...自定义 Spring Boot Web 安全配置类 我们使用我们最擅长 Ctrl + C 、Ctrl + V 抄源码中 SpringBootWebSecurityConfiguration ,命名为我们自定义...2.2 核心过滤器配置方法 void configure(WebSecurity web) 用来配置 WebSecurity 。...我们一般不会过多来自定义 WebSecurity , 使用较多使其ignoring() 方法用来忽略 Spring Security 对静态资源控制。...现在大部分使用 javaConfig方式。常用方法解读如下: ? 4. 总结 到今天为止,我们已经由浅入深学习了很多关于 Spring Security 知识。

    97430

    进入 SpringBoot2.7,有一个重要类过期了

    过期类当然可以继续使用,但是你要是决定别扭,只需要稍微看一下注释,基本上就明白该怎么玩了。...configure(WebSecurity) 前者主要是配置 Spring Security 中过滤器链,后者则主要是配置一些路径放行规则。...以后如果想要配置 WebSecurity,可以通过 WebSecurityCustomizer Bean 来实现。 那么接下来我们就通过一个简单例子来看下。...现在我们第一个需求是使用自定义用户,而不是系统默认提供,这个简单,我们只需要向 Spring 容器中注册一个 UserDetailsService 实例即可,像下面这样: @Configuration...configure(WebSecurity) 方法中内容,现在位于 WebSecurityCustomizer Bean 中,该配置东西写在这里就可以了。

    98710

    Spring Security 两种资源放行策略,千万别用错了!

    就是他使用 Spring Security 做用户登录,等成功后,结果无法获取到登录用户信息,松哥之前写过相关文章(奇怪,Spring Security 登录成功后总是获取不到登录用户信息?)...1.两种思路 在 Spring Security 中,有一个资源,如果你希望用户不用登录就能访问,那么一般来说,你有两种配置策略: 第一种就是在 configure(WebSecurity web) 方法中配置放行...,像下面这样: @Override public void configure(WebSecurity web) throws Exception { web.ignoring().antMatchers...在我们使用 Spring Security 时候,有的资源可以使用第一种方式额外放行,不需要验证,例如前端页面的静态资源,就可以按照第一种方式配置放行。...看了上面的分析,我们可以至少得出两点结论: 如果我们暴露登录接口时候,使用了前面提到第一种方式,没有走 Spring Security,过滤器链,则在登录成功后,就不会将登录用户信息存入 session

    2.1K50

    MongoDBSpring配置使用

    Spring-data对MongoDB进行了很好支持,接下来就讲解一下关于Spring对MongoDB配置和一些正常使用 我下面的工程使用SpringJava配置方式和Maven构建 ①MongoDB...必要配置 package springmvc.rootconfig; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration...@ID 标示某个为ID域 @DbRef 标示某个域要引用其他文档,这个文档有可能位于另外一个数据库中 @Field 为文档域指定自定义元数据 @Version 标示某个属性用作版本域 若不使用...@Field注解,域名就与Java属性相同 上面之所以ItemJava类为什么没有@Document注解,是因为我们不会单独想Item持久化为文档 ③使用MongoTemplate访问MongoDB...@EnableMongoRepositories(basePackages = “springmvc.orders.db”)配置 MongoRepository接口有两个参数,第一个是带有@Document

    1.8K20

    SpringRedis配置使用

    Redis是一种特殊类型数据库,他被称之为key-value存储 本文覆盖缓存和存储两方面进行说明,使用Spring 4.0和Java配置方式 存储 Redis配置 package springmvc.rootconfig...如果使用是localhost和默认端口,则这两项配置可以省略 RedisTemplate RedisTemplate StringRedisTemplate RedisTemplate能够让我们持久化各种类型...,将其序列化 或者使用Spring Data Redis提供序列化器 GenericToStringSerializer:使用Spring转换服务进行序列化 JacksonJsonRedisSerializer...:使用Java序列化 OxmSerializer:使用Spring O/X映射编排器和解排器实现序列化,用于XML序列化 StringRedisSerializer:序列化String类型key和value...注解 描述 @Cacheable 表明Spring在调用方法之前,首先应该在缓存中查找方法返回值,如果这个值能够找到,就会返回缓存值。

    1.9K10

    spring security运行时配置ignore url

    序 以前用shiro比较多,不过spring boot倒是挺推崇自家spring security,有默认starter,于是也就拿来用了。...web.ignoring().antMatchers("/info","/health","/hystrix.stream"); } } 但是这样配置有个缺点,就是每次要新增一个免登陆url时候...方案1 方案1就是对于业务场景下免登陆url,都统一添加一个前缀,比如/open/xxxx,这样就可以固定死了 web.ignoring().antMatchers("/info","/health...所以当我们同时定义多个 http 元素时要确保将更具有特性 URL 配置在前。...其实这个还可以扩展一下,支持动态权限配置,这个下次有机会再讲一下。 doc 初识 Spring Security Spring Security系列四 自定义决策管理器(动态权限码)

    3.9K10
    领券