帮助解决问题。
我试图允许使用注册路由而不需要事先验证,但是我的解决方案不起作用,我得到了一个状态为401 unauthorized的响应,但是我的为每个人开放GET访问方法的解决方案工作得很好。
我使用 Spring Boot 3.0.2, spring security 6.0.2
配置代码:
@Configuration
@EnableWebSecurity
@RequiredArgsConstructor
public class WebSecurityConfiguration {
@Autowired
private AuthenticationProvider authenticationProvider;
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.csrf()
.disable()
.cors()
.disable()
.authorizeHttpRequests(auth -> auth
.requestMatchers(HttpMethod.POST, "/registration").permitAll()
.requestMatchers(HttpMethod.GET).permitAll()
.anyRequest().authenticated())
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.exceptionHandling()
.accessDeniedHandler(accessDeniedHandler())
.authenticationEntryPoint(new Http401UnauthorizedEntryPoint())
.and()
.authenticationProvider(authenticationProvider)
.httpBasic();
return http.build();
}
@Bean
public AccessDeniedHandler accessDeniedHandler() {
return new AccessDeniedExceptionHandler();
}
}
此路由的控制器代码:
@RestController
@RequestMapping
public class AuthenticationController {
@Autowired
private AccountRepository accountRepository;
@Autowired
private PasswordEncoder passwordEncoder;
@PostMapping("/registration")
public ResponseEntity<Account> registration(@RequestParam String firstName, @RequestParam String lastName,
@RequestParam String email, @RequestParam String password) {
if (firstName.isBlank() || lastName.isBlank() || email.isBlank() || password.isBlank()) {
throw new ResponseStatusException(HttpStatus.BAD_REQUEST);
}
if (!EmailValidator.getInstance().isValid(email)) {
throw new ResponseStatusException(HttpStatus.BAD_REQUEST);
}
if (SecurityContextHolder.getContext().getAuthentication().isAuthenticated()) {
throw new ResponseStatusException(HttpStatus.FORBIDDEN);
}
Optional<Account> accountOptional = accountRepository.findByEmail(email);
if (accountOptional.isPresent()) {
throw new ResponseStatusException(HttpStatus.CONFLICT);
}
Account account = Account.builder()
.firstName(firstName)
.lastName(lastName)
.email(email)
.password(passwordEncoder.encode(password))
.build();
account = accountRepository.save(account);
return ResponseEntity.ok(account);
}
}
当我发送请求时,我得到一个401响应代码,这意味着我的允许所有人访问路由的解决方案不起作用。enter image description here
我尝试将路由模式替换为:.请求匹配器(HttpMethod.POST,“/注册”)-〉.请求匹配器(“/注册”).请求匹配器(HttpMethod.POST,“/注册”)-〉.请求匹配器(HttpMethod.POST,“/注册/**”)等。
调试日志:
2023-02-21T23:12:30.447+05:00 INFO 1424 --- [ main] r.e.p.itplanetstep1.ItPlanetApplication : Started ItPlanetApplication in 6.267 seconds (process running for 6.619)
2023-02-21T23:12:30.449+05:00 DEBUG 1424 --- [ main] o.s.b.a.ApplicationAvailabilityBean : Application availability state LivenessState changed to CORRECT
2023-02-21T23:12:30.450+05:00 DEBUG 1424 --- [ main] o.s.b.a.ApplicationAvailabilityBean : Application availability state ReadinessState changed to ACCEPTING_TRAFFIC
2023-02-21T23:12:49.797+05:00 DEBUG 1424 --- [nio-8080-exec-2] o.a.c.authenticator.AuthenticatorBase : Security checking request POST /registration
2023-02-21T23:12:49.804+05:00 INFO 1424 --- [nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-02-21T23:12:49.804+05:00 INFO 1424 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2023-02-21T23:12:49.804+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.multipart.support.StandardServletMultipartResolver@7866fe3e
2023-02-21T23:12:49.804+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver@2e2c9e24
2023-02-21T23:12:49.804+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Detected org.springframework.web.servlet.theme.FixedThemeResolver@6164b3a2
2023-02-21T23:12:49.805+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Detected DefaultRequestToViewNameTranslator
2023-02-21T23:12:49.805+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Detected SessionFlashMapManager
2023-02-21T23:12:49.805+05:00 DEBUG 1424 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : enableLoggingRequestDetails='false': request parameters and headers will be masked to prevent unsafe logging of potentially sensitive data
2023-02-21T23:12:49.811+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.b.w.s.f.OrderedRequestContextFilter : Bound request context to thread: org.apache.catalina.connector.RequestFacade@2eb3c530
2023-02-21T23:12:49.811+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'springSecurityFilterChain'
2023-02-21T23:12:49.813+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Trying to match request against DefaultSecurityFilterChain [RequestMatcher=any request, Filters=[org.springframework.security.web.session.DisableEncodeUrlFilter@544733a4, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@522f74a1, org.springframework.security.web.context.SecurityContextHolderFilter@60658389, org.springframework.security.web.header.HeaderWriterFilter@7c919e1e, org.springframework.security.web.authentication.logout.LogoutFilter@1c41931a, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@3cf7433e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3e563293, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6a905513, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@59700156, org.springframework.security.web.session.SessionManagementFilter@1399ad68, org.springframework.security.web.access.ExceptionTranslationFilter@2e27325d, org.springframework.security.web.access.intercept.AuthorizationFilter@3c717ef2]] (1/1)
2023-02-21T23:12:49.815+05:00 DEBUG 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Securing POST /registration
2023-02-21T23:12:49.816+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking DisableEncodeUrlFilter (1/12)
2023-02-21T23:12:49.816+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking WebAsyncManagerIntegrationFilter (2/12)
2023-02-21T23:12:49.818+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking SecurityContextHolderFilter (3/12)
2023-02-21T23:12:49.819+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking HeaderWriterFilter (4/12)
2023-02-21T23:12:49.822+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking LogoutFilter (5/12)
2023-02-21T23:12:49.823+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.s.w.a.logout.LogoutFilter : Did not match request to Or [Ant [pattern='/logout', GET], Ant [pattern='/logout', POST], Ant [pattern='/logout', PUT], Ant [pattern='/logout', DELETE]]
2023-02-21T23:12:49.823+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking BasicAuthenticationFilter (6/12)
2023-02-21T23:12:49.823+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.s.w.a.www.BasicAuthenticationFilter : Did not process authentication request since failed to find username and password in Basic Authorization header
2023-02-21T23:12:49.823+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking RequestCacheAwareFilter (7/12)
2023-02-21T23:12:49.823+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking SecurityContextHolderAwareRequestFilter (8/12)
2023-02-21T23:12:49.832+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking AnonymousAuthenticationFilter (9/12)
2023-02-21T23:12:49.836+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking SessionManagementFilter (10/12)
2023-02-21T23:12:49.837+05:00 TRACE 1424 --- [nio-8080-exec-2] .s.s.w.c.SupplierDeferredSecurityContext : Created SecurityContextImpl [Null authentication]
2023-02-21T23:12:49.839+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to AnonymousAuthenticationToken [Principal=anonymousUser, Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=null], Granted Authorities=[ROLE_ANONYMOUS]]
2023-02-21T23:12:49.839+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking ExceptionTranslationFilter (11/12)
2023-02-21T23:12:49.839+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking AuthorizationFilter (12/12)
2023-02-21T23:12:49.840+05:00 TRACE 1424 --- [nio-8080-exec-2] estMatcherDelegatingAuthorizationManager : Authorizing SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@6b70625a]
2023-02-21T23:12:49.854+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'authenticationController'
2023-02-21T23:12:49.854+05:00 TRACE 1424 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to ru.earwarm.programms.itplanetstep1.controllers.AuthenticationController#registration(String, String, String, String)
2023-02-21T23:12:49.855+05:00 TRACE 1424 --- [nio-8080-exec-2] estMatcherDelegatingAuthorizationManager : Checking authorization on SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@6b70625a] using org.springframework.security.config.annotation.web.configurers.AuthorizeHttpRequestsConfigurer$$Lambda$1241/0x00000008017df218@47dc601e
2023-02-21T23:12:49.855+05:00 DEBUG 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Secured POST /registration
2023-02-21T23:12:49.858+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : POST "/registration", parameters={}, headers={masked} in DispatcherServlet 'dispatcherServlet'
2023-02-21T23:12:49.861+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'authenticationController'
2023-02-21T23:12:49.861+05:00 TRACE 1424 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to ru.earwarm.programms.itplanetstep1.controllers.AuthenticationController#registration(String, String, String, String)
2023-02-21T23:12:49.863+05:00 DEBUG 1424 --- [nio-8080-exec-2] o.j.s.OpenEntityManagerInViewInterceptor : Opening JPA EntityManager in OpenEntityManagerInViewInterceptor
2023-02-21T23:12:49.896+05:00 DEBUG 1424 --- [nio-8080-exec-2] o.s.web.method.HandlerMethod : Could not resolve parameter [0] in public org.springframework.http.ResponseEntity<ru.earwarm.programms.itplanetstep1.models.Account> ru.earwarm.programms.itplanetstep1.controllers.AuthenticationController.registration(java.lang.String,java.lang.String,java.lang.String,java.lang.String): Required request parameter 'firstName' for method parameter type String is not present
2023-02-21T23:12:49.907+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.s.w.header.writers.HstsHeaderWriter : Not injecting HSTS header since it did not match request to [Is Secure]
2023-02-21T23:12:49.908+05:00 WARN 1424 --- [nio-8080-exec-2] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'firstName' for method parameter type String is not present]
2023-02-21T23:12:49.908+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : No view rendering, null ModelAndView returned.
2023-02-21T23:12:49.908+05:00 DEBUG 1424 --- [nio-8080-exec-2] o.j.s.OpenEntityManagerInViewInterceptor : Closing JPA EntityManager in OpenEntityManagerInViewInterceptor
2023-02-21T23:12:49.909+05:00 DEBUG 1424 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : Completed 400 BAD_REQUEST, headers={masked}
2023-02-21T23:12:49.909+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'delegatingApplicationListener'
2023-02-21T23:12:49.910+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.b.w.s.f.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@2eb3c530
2023-02-21T23:12:49.910+05:00 DEBUG 1424 --- [nio-8080-exec-2] o.a.c.c.C.[Tomcat].[localhost] : Processing ErrorPage[errorCode=0, location=/error]
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.b.w.s.f.OrderedRequestContextFilter : Bound request context to thread: org.apache.catalina.core.ApplicationHttpRequest@3f81b133
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Trying to match request against DefaultSecurityFilterChain [RequestMatcher=any request, Filters=[org.springframework.security.web.session.DisableEncodeUrlFilter@544733a4, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@522f74a1, org.springframework.security.web.context.SecurityContextHolderFilter@60658389, org.springframework.security.web.header.HeaderWriterFilter@7c919e1e, org.springframework.security.web.authentication.logout.LogoutFilter@1c41931a, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@3cf7433e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3e563293, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6a905513, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@59700156, org.springframework.security.web.session.SessionManagementFilter@1399ad68, org.springframework.security.web.access.ExceptionTranslationFilter@2e27325d, org.springframework.security.web.access.intercept.AuthorizationFilter@3c717ef2]] (1/1)
2023-02-21T23:12:49.920+05:00 DEBUG 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Securing POST /error
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking DisableEncodeUrlFilter (1/12)
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking WebAsyncManagerIntegrationFilter (2/12)
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking SecurityContextHolderFilter (3/12)
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking HeaderWriterFilter (4/12)
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking LogoutFilter (5/12)
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.s.w.a.logout.LogoutFilter : Did not match request to Or [Ant [pattern='/logout', GET], Ant [pattern='/logout', POST], Ant [pattern='/logout', PUT], Ant [pattern='/logout', DELETE]]
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking BasicAuthenticationFilter (6/12)
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking RequestCacheAwareFilter (7/12)
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking SecurityContextHolderAwareRequestFilter (8/12)
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking AnonymousAuthenticationFilter (9/12)
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking SessionManagementFilter (10/12)
2023-02-21T23:12:49.920+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking ExceptionTranslationFilter (11/12)
2023-02-21T23:12:49.921+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.security.web.FilterChainProxy : Invoking AuthorizationFilter (12/12)
2023-02-21T23:12:49.922+05:00 TRACE 1424 --- [nio-8080-exec-2] estMatcherDelegatingAuthorizationManager : Authorizing SecurityContextHolderAwareRequestWrapper[ FirewalledRequest[ org.apache.catalina.core.ApplicationHttpRequest@3f81b133]]
2023-02-21T23:12:49.927+05:00 TRACE 1424 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : 2 matching mappings: [{ [/error]}, { [/error], produces [text/html]}]
2023-02-21T23:12:49.928+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'basicErrorController'
2023-02-21T23:12:49.929+05:00 TRACE 1424 --- [nio-8080-exec-2] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
2023-02-21T23:12:49.929+05:00 TRACE 1424 --- [nio-8080-exec-2] estMatcherDelegatingAuthorizationManager : Checking authorization on SecurityContextHolderAwareRequestWrapper[ FirewalledRequest[ org.apache.catalina.core.ApplicationHttpRequest@3f81b133]] using org.springframework.security.authorization.AuthenticatedAuthorizationManager@5379ab74
2023-02-21T23:12:49.929+05:00 TRACE 1424 --- [nio-8080-exec-2] .s.s.w.c.SupplierDeferredSecurityContext : Created SecurityContextImpl [Null authentication]
2023-02-21T23:12:49.929+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.s.w.a.AnonymousAuthenticationFilter : Set SecurityContextHolder to AnonymousAuthenticationToken [Principal=anonymousUser, Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=null], Granted Authorities=[ROLE_ANONYMOUS]]
2023-02-21T23:12:49.930+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.s.w.a.ExceptionTranslationFilter : Sending AnonymousAuthenticationToken [Principal=anonymousUser, Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=0:0:0:0:0:0:0:1, SessionId=null], Granted Authorities=[ROLE_ANONYMOUS]] to authentication entry point since access is denied
org.springframework.security.access.AccessDeniedException: Access Denied
at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:98) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:91) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-6.0.4.jar:6.0.4]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-6.0.4.jar:6.0.4]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-6.0.4.jar:6.0.4]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-6.0.4.jar:6.0.4]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:374) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) ~[spring-security-web-6.0.1.jar:6.0.1]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:351) ~[spring-web-6.0.4.jar:6.0.4]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-6.0.4.jar:6.0.4]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.0.4.jar:6.0.4]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.0.4.jar:6.0.4]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-6.0.4.jar:6.0.4]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) ~[spring-web-6.0.4.jar:6.0.4]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:443) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:367) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:295) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:372) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:228) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-10.1.5.jar:10.1.5]
at java.base/java.lang.Thread.run(Thread.java:1589) ~[na:na]
2023-02-21T23:12:49.935+05:00 TRACE 1424 --- [nio-8080-exec-2] o.s.b.w.s.f.OrderedRequestContextFilter : Cleared thread-bound request context: org.apache.catalina.core.ApplicationHttpRequest@3f81b133
2023-02-21T23:12:49.936+05:00 DEBUG 1424 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Disabling the response for further output
我的英语不是很好。
1条答案
按热度按时间eulz3vhy1#
通过在application.yml文件中将spring.mvc.problemdetails.enabled设置为true,解决了该问题。
@Toerktumlare谢谢。