Spring Security配置中的单角色多个IP地址

Spring Security配置中的单角色多个IP地址,第1张

Spring Security配置中的单角色多个IP地址

您的

for
循环导致以下配置:

@SuppressWarnings("ALL")@Configuration@EnableWebSecuritypublic class MyWebSecurityConfig extends WebSecurityConfigurerAdapter {    @Override    protected void configure(HttpSecurity http) throws Exception {        http .authorizeRequests()     .antMatchers("/admin/**").access("hasRole('admin') and hasIpAddress('127.0.0.1')")     .antMatchers("/admin/**").access("hasRole('admin') and hasIpAddress('192.168.1.0/24')")     .antMatchers("/admin/**").access("hasRole('admin') and hasIpAddress('0:0:0:0:0:0:0:1')");    }    //some other configurations}

所以对于URL:

http://localhost:9595/admin/checkappeals/211

仅考虑第一个匹配器,请参见HttpSecurity#authorizeRequests:

注意匹配器是按顺序考虑的。因此,以下内容无效,因为第一个匹配器匹配每个请求,并且永远不会到达第二个映射

http.authorizeRequests().antMatchers(“/”).hasRole(“USER”).antMatchers(“/admin/”)
.hasRole(“ADMIN”)


您必须构建类似:

http    .authorizeRequests()        .antMatchers("/admin/**").acces("hasRole('admin') and (hasIpAddress('127.0.0.1') or hasIpAddress('192.168.1.0/24') or hasIpAddress('0:0:0:0:0:0:0:1'))";


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5122688.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存