|
@@ -7,6 +7,7 @@ import com.google.common.collect.HashMultimap;
|
|
|
import com.google.common.collect.Multimap;
|
|
|
import jakarta.annotation.Resource;
|
|
|
import jakarta.annotation.security.PermitAll;
|
|
|
+import jakarta.servlet.DispatcherType;
|
|
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
|
|
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
|
|
|
import org.springframework.context.ApplicationContext;
|
|
@@ -142,7 +143,9 @@ public class YudaoWebSecurityConfigurerAdapter {
|
|
|
// ②:每个项目的自定义规则
|
|
|
.authorizeHttpRequests(c -> authorizeRequestsCustomizers.forEach(customizer -> customizer.customize(c)))
|
|
|
// ③:兜底规则,必须认证
|
|
|
- .authorizeHttpRequests(c -> c.anyRequest().authenticated());
|
|
|
+ .authorizeHttpRequests(c -> c
|
|
|
+ .dispatcherTypeMatchers(DispatcherType.ASYNC).permitAll() // WebFlux 异步请求,无需认证,目的:SSE 场景
|
|
|
+ .anyRequest().authenticated());
|
|
|
|
|
|
// 添加 Token Filter
|
|
|
httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
|