栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java Spring Security:多个HTTP配置不起作用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java Spring Security:多个HTTP配置不起作用

看一下Spring Security Reference:

@EnableWebSecuritypublic class MultiHttpSecurityConfig {  @Autowired  public void configureGlobal(AuthenticationManagerBuilder auth) { 1      auth          .inMemoryAuthentication()   .withUser("user").password("password").roles("USER").and()   .withUser("admin").password("password").roles("USER", "ADMIN");  }  @Configuration  @Order(1) 2  public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {      protected void configure(HttpSecurity http) throws Exception {          http   .antMatcher("/api/**")         3   .authorizeRequests()       .anyRequest().hasRole("ADMIN")       .and()   .httpBasic();      }  }      @Configuration       4  public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {      @Override      protected void configure(HttpSecurity http) throws Exception {          http   .authorizeRequests()       .anyRequest().authenticated()       .and()   .formLogin();      }  }}

1正常配置身份验证

2创建一个

WebSecurityConfigurerAdapter
包含的实例,
@Order
以指定
WebSecurityConfigurerAdapter
应首先考虑的对象。

3

http.antMatcher
指出这
HttpSecurity
仅适用于以开头的
URL/api/

4创建的另一个实例

WebSecurityConfigurerAdapter
。如果
URL
不以
/api/
该配置开头,则将使用此配置。此配置被认为是之后的,
ApiWebSecurityConfigurationAdapter
因为它的
@Order
值是
after 1(
没有
@Order
默认值是last)。

您的第二个配置未使用,因为您的第一个配置匹配

/**
(未antMatcher配置)。而且您的第一个配置仅限制
/admin/**
,默认情况下允许所有其他URL。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407692.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号