当前位置: 首页 > 知识库问答 >
问题:

Spring Boot 2.0禁用默认安全性

甄文彬
2023-03-14

我想使用Spring Security进行JWT身份验证。但它带有默认身份验证。我正在尝试禁用它,但在2.0中不推荐使用旧的方法--通过application.properties禁用它。

这是我尝试过的:

@Configuration
public class StackWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.httpBasic().disable();
        // http.authorizeRequests().anyRequest().permitAll(); // Also doesn't work.
    }
}

我怎么能简单地禁用基本安全?

更新
知道我使用的不是web mvc而是web Flux可能会很高兴。

共有1个答案

夏侯野
2023-03-14

根据Spring2.0的新更新,如果类路径上有Spring Security,那么Spring Boot将添加@enableWebSecurity.,所以向application.properties添加条目是不起作用的(也就是说,不再可以通过这种方式自定义)。欲知更多信息,请访问Spring Boot 2.0中的官方网站安全更改

虽然不确定您的要求,但我可以想出一个解决办法,如下所示:-

@Configuration
@EnableWebSecurity
public class SecurityConfiguration  extends WebSecurityConfigurerAdapter{
    @Override
    protected void configure(HttpSecurity http) throws Exception{
        http.authorizeRequests().antMatchers("/").permitAll();
    }
}

希望这有帮助。

 类似资料:
  • 的复制构造函数和赋值操作符的情况下,便编译器会为我们生成默认的复制构造函数和赋值操作符,以内存复制的形式完成对象的复制。虽然这种机制可以为我们节省很多编写复制构造函数和赋值操作符的时间,但是在某些情况下,比如我们不希望对象被复制,这种机制却是多此一举。) 关于类的“禁止复制”,现在可以使用delete关键字完美地直接表达: class X { // … X& operator=(c

  • 我在一个项目中使用Spring Boot和Data REST,我想禁用以下默认映射来调试映射问题: 我发现这个问题禁用了,这会导致这些映射不被映射。但是,我的控制器映射也不会被映射。 我可以在保留我定义的映射时禁用这些映射吗? 提前谢谢。

  • 当我使用security.basic.enabled=false在具有以下依赖项的Spring Boot项目上禁用安全性时: 为了修复此异常,我必须添加属性-management.security.enabled=false。我的理解是,当执行器在类路径中时,应该将security.basic.enabled=false和management.security.enabled=false设置为禁用

  • 请查找我的应用程序登录FileAppender配置。 我没有为警报文件追加器配置任何rollingpolicy,但仍在进行滚动。我需要一个单一的文件,我的所有错误通过一天,一年等,请帮助。 谢谢Satyajit

  • 我有spring boot 2 REST应用程序,启用了Spring执行器。默认情况下,spring会在endpoint中生成大量指标(jvm、cpu、内存等)。除此之外,我还使用测微计API创建自定义指标。到目前为止,它一直运行得很好。 现在,我需要只生成自定义指标,但禁用spring提供的所有默认指标。请注意,我不想禁用endpoint,但我只想禁用默认指标。 现在直接/间接地可能吗? 谢谢你

  • 我使用springdoc openapi for java SpringBoot RESTful应用程序定义了以下: 是否可以将其全局应用于所有路径,而不必在代码中的任何地方添加注释到注释? 如果是,如何添加排除到不安全的路径?