|
@@ -126,22 +126,23 @@ public class YudaoWebSecurityConfigurerAdapter {
|
|
|
// 设置每个请求的权限
|
|
|
httpSecurity
|
|
|
// ①:全局共享规则
|
|
|
- .authorizeRequests()
|
|
|
- // 1.1 静态资源,可匿名访问
|
|
|
- .antMatchers(HttpMethod.GET, "/*.html", "/**/*.html", "/**/*.css", "/**/*.js").permitAll()
|
|
|
- // 1.2 设置 @PermitAll 无需认证
|
|
|
- .antMatchers(HttpMethod.GET, permitAllUrls.get(HttpMethod.GET).toArray(new String[0])).permitAll()
|
|
|
- .antMatchers(HttpMethod.POST, permitAllUrls.get(HttpMethod.POST).toArray(new String[0])).permitAll()
|
|
|
- .antMatchers(HttpMethod.PUT, permitAllUrls.get(HttpMethod.PUT).toArray(new String[0])).permitAll()
|
|
|
- .antMatchers(HttpMethod.DELETE, permitAllUrls.get(HttpMethod.DELETE).toArray(new String[0])).permitAll()
|
|
|
- // 1.3 基于 yudao.security.permit-all-urls 无需认证
|
|
|
- .antMatchers(securityProperties.getPermitAllUrls().toArray(new String[0])).permitAll()
|
|
|
+ .authorizeHttpRequests(c -> c
|
|
|
+ // 1.1 静态资源,可匿名访问
|
|
|
+ .requestMatchers(HttpMethod.GET, "/*.html", "/*.html", "/*.css", "/*.js").permitAll()
|
|
|
+ // 1.2 设置 @PermitAll 无需认证
|
|
|
+ .requestMatchers(HttpMethod.GET, permitAllUrls.get(HttpMethod.GET).toArray(new String[0])).permitAll()
|
|
|
+ .requestMatchers(HttpMethod.POST, permitAllUrls.get(HttpMethod.POST).toArray(new String[0])).permitAll()
|
|
|
+ .requestMatchers(HttpMethod.PUT, permitAllUrls.get(HttpMethod.PUT).toArray(new String[0])).permitAll()
|
|
|
+ .requestMatchers(HttpMethod.DELETE, permitAllUrls.get(HttpMethod.DELETE).toArray(new String[0])).permitAll()
|
|
|
+ .requestMatchers(HttpMethod.HEAD, permitAllUrls.get(HttpMethod.HEAD).toArray(new String[0])).permitAll()
|
|
|
+ .requestMatchers(HttpMethod.PATCH, permitAllUrls.get(HttpMethod.PATCH).toArray(new String[0])).permitAll()
|
|
|
+ // 1.3 基于 yudao.security.permit-all-urls 无需认证
|
|
|
+ .requestMatchers(securityProperties.getPermitAllUrls().toArray(new String[0])).permitAll()
|
|
|
+ )
|
|
|
// ②:每个项目的自定义规则
|
|
|
- .and().authorizeRequests(registry -> // 下面,循环设置自定义规则
|
|
|
- authorizeRequestsCustomizers.forEach(customizer -> customizer.customize(registry)))
|
|
|
+ .authorizeHttpRequests(c -> authorizeRequestsCustomizers.forEach(customizer -> customizer.customize(c)))
|
|
|
// ③:兜底规则,必须认证
|
|
|
- .authorizeRequests()
|
|
|
- .anyRequest().authenticated();
|
|
|
+ .authorizeHttpRequests(c -> c.anyRequest().authenticated());
|
|
|
|
|
|
// 添加 Token Filter
|
|
|
httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
|