!67 #I8I2EW 修复@PermitAll注解失效问题,

Merge pull request !67 from 胡庆春/master2
This commit is contained in:
芋道源码 2023-11-25 14:30:16 +00:00 committed by Gitee
commit 516de93cd7
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

View File

@ -17,6 +17,7 @@ import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.access.AccessDeniedHandler; import org.springframework.security.web.access.AccessDeniedHandler;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.method.HandlerMethod; import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo; import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
@ -160,8 +161,16 @@ public class YudaoWebSecurityConfigurerAdapter {
continue; continue;
} }
Set<String> urls = entry.getKey().getPatternsCondition().getPatterns(); Set<String> urls = entry.getKey().getPatternsCondition().getPatterns();
//未指定请求方法则将4个Restful方法均添加到 result 结果
Set<RequestMethod> methods = entry.getKey().getMethodsCondition().getMethods();
if (methods.isEmpty()) {
result.putAll(HttpMethod.GET, urls);
result.putAll(HttpMethod.POST, urls);
result.putAll(HttpMethod.PUT, urls);
result.putAll(HttpMethod.DELETE, urls);
}
// 根据请求方法添加到 result 结果 // 根据请求方法添加到 result 结果
entry.getKey().getMethodsCondition().getMethods().forEach(requestMethod -> { methods.forEach(requestMethod -> {
switch (requestMethod) { switch (requestMethod) {
case GET: case GET:
result.putAll(HttpMethod.GET, urls); result.putAll(HttpMethod.GET, urls);