一、该问题的重现步骤是什么?
1. 将blade-auth服务名改为 epo-auth
2. 将blade-common服务名改为 epo-common
3.将blade-gateway 服务名改为 epo-gateway
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
saber,bladex商业版 2.7.0.REALEASE,win10
四、请提供详细的错误堆栈信息,这很重要。
2020-11-14 17:51:50.006 WARN 4872 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[epo-auth] & group[DEFAULT_GROUP]
2020-11-14 17:51:50.008 WARN 4872 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[epo-auth.yaml] & group[DEFAULT_GROUP]
2020-11-14 17:51:50.010 WARN 4872 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[epo-auth-dev.yaml] & group[DEFAULT_GROUP]
2020-11-14 17:51:50.011 INFO 4872 --- [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name='bootstrapProperties-epo-auth-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-epo-auth.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-epo-auth,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-blade-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-blade.yaml,DEFAULT_GROUP'}]
2020-11-14 17:51:50.034 INFO 4872 --- [ main] org.springblade.auth.AuthApplication : The following profiles are active: dev
2020-11-14 17:51:50.181 WARN 4872 --- [ main] o.s.c.c.u.SpringFactoryImportSelector : More than one implementation of @EnableCircuitBreaker (now relying on @Conditionals to pick one): [org.springframework.cloud.netflix.hystrix.HystrixCircuitBreakerConfiguration, com.alibaba.cloud.sentinel.custom.SentinelCircuitBreakerConfiguration]
2020-11-14 17:51:51.656 WARN 4872 --- [ main] o.s.boot.actuate.endpoint.EndpointId : Endpoint ID 'nacos-config' contains invalid characters, please migrate to a valid format.
2020-11-14 17:51:51.662 WARN 4872 --- [ main] o.s.boot.actuate.endpoint.EndpointId : Endpoint ID 'nacos-discovery' contains invalid characters, please migrate to a valid format.
2020-11-14 17:51:52.327 INFO 4872 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
2020-11-14 17:51:52.333 INFO 4872 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2020-11-14 17:51:52.377 INFO 4872 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 22ms. Found 0 Redis repository interfaces.
2020-11-14 17:51:52.498 WARN 4872 --- [ main] o.s.boot.actuate.endpoint.EndpointId : Endpoint ID 'service-registry' contains invalid characters, please migrate to a valid format.
2020-11-14 17:51:52.520 WARN 4872 --- [ main] o.s.boot.actuate.endpoint.EndpointId : Endpoint ID 'hystrix.stream' contains invalid characters, please migrate to a valid format.
2020-11-14 17:51:52.647 WARN 4872 --- [ main] o.m.s.mapper.ClassPathMapperScanner : No MyBatis mapper was found in '[org.springblade.auth]' package. Please check your configuration.
2020-11-14 17:51:52.889 INFO 4872 --- [ main] o.s.cloud.context.scope.GenericScope : BeanFactory id=a8a93b33-d829-3a4d-8b01-83d9c170e016
2020-11-14 17:51:52.907 INFO 4872 --- [ main] s.c.l.p.BladePropertySourcePostProcessor : BladePropertySourcePostProcessor init.
2020-11-14 17:51:52.907 INFO 4872 --- [ main] s.c.l.p.BladePropertySourcePostProcessor : BladePropertySourcePostProcessor process @BladePropertySource bean.
INFO: Sentinel log output type is: file
INFO: Sentinel log charset is: utf-8
INFO: Sentinel log base directory is: C:\Users\HuaShiJie\logs\csp\
INFO: Sentinel log name use pid is: false
2020-11-14 17:51:54.322 WARN 4872 --- [ main] io.undertow.websockets.jsr : UT026010: Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
2020-11-14 17:51:54.361 INFO 4872 --- [ main] io.undertow.servlet : Initializing Spring embedded WebApplicationContext
2020-11-14 17:51:54.361 INFO 4872 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4298 ms
2020-11-14 17:51:54.590 WARN 4872 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources.
2020-11-14 17:51:54.590 INFO 4872 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2020-11-14 17:51:54.601 INFO 4872 --- [ main] c.netflix.config.DynamicPropertyFactory : DynamicPropertyFactory is initialized with configuration sources: com.netflix.config.ConcurrentCompositeConfiguration@8dcacf1
2020-11-14 17:51:54.802 INFO 4872 --- [ main] o.s.b.a.e.web.ServletEndpointRegistrar : Registered '/actuator/hystrix.stream' to hystrix.stream-actuator-endpoint
2020-11-14 17:51:54.858 INFO 4872 --- [ main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource
2020-11-14 17:51:55.257 INFO 4872 --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited
2020-11-14 17:51:57.207 WARN 4872 --- [ main] o.s.s.o.p.t.s.JwtAccessTokenConverter : Unable to create an RSA verifier from verifierKey (ignoreable if using MAC)
2020-11-14 17:51:58.780 INFO 4872 --- [ main] c.a.c.s.SentinelWebAutoConfiguration : [Sentinel Starter] register SentinelWebInterceptor with urlPatterns: [/**].
2020-11-14 17:51:58.796 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /oauth/callback/{source}}" onto org.springblade.auth.endpoint.BladeSocialEndpoint#login(String, AuthCallback)
2020-11-14 17:51:58.796 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /oauth/refresh/{source}}" onto org.springblade.auth.endpoint.BladeSocialEndpoint#refreshAuth(String, String)
2020-11-14 17:51:58.797 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /oauth/revoke/{source}/{token}}" onto org.springblade.auth.endpoint.BladeSocialEndpoint#revokeAuth(String, String)
2020-11-14 17:51:58.797 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /oauth/render/{source}}" onto org.springblade.auth.endpoint.BladeSocialEndpoint#renderAuth(String, HttpServletResponse)
2020-11-14 17:51:58.797 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{GET /oauth/clear-cache}" onto org.springblade.auth.endpoint.BladeTokenEndPoint#clearCache()
2020-11-14 17:51:58.797 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{GET /oauth/logout}" onto org.springblade.auth.endpoint.BladeTokenEndPoint#logout()
2020-11-14 17:51:58.797 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{GET /oauth/captcha}" onto org.springblade.auth.endpoint.BladeTokenEndPoint#captcha()
2020-11-14 17:51:58.797 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{GET /oauth/user-info}" onto org.springblade.auth.endpoint.BladeTokenEndPoint#currentUser(Authentication)
2020-11-14 17:51:58.797 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /swagger-resources}" onto springfox.documentation.swagger.web.ApiResourceController#swaggerResources()
2020-11-14 17:51:58.797 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /swagger-resources/configuration/ui}" onto springfox.documentation.swagger.web.ApiResourceController#uiConfiguration()
2020-11-14 17:51:58.797 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /swagger-resources/configuration/security}" onto springfox.documentation.swagger.web.ApiResourceController#securityConfiguration()
2020-11-14 17:51:58.797 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /error}" onto org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
2020-11-14 17:51:58.797 INFO 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : Mapped "{ /error, produces [text/html]}" onto org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#errorHtml(HttpServletRequest, HttpServletResponse)
2020-11-14 17:51:58.798 DEBUG 4872 --- [ main] .c.c.v.BladeRequestMappingHandlerMapping : 13 mappings in 'requestMappingHandlerMapping'
2020-11-14 17:52:00.401 INFO 4872 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 21 endpoint(s) beneath base path '/actuator'
2020-11-14 17:52:00.721 WARN 4872 --- [ main] c.n.c.sources.URLConfigurationSource : No URLs will be polled as dynamic configuration sources.
2020-11-14 17:52:00.721 INFO 4872 --- [ main] c.n.c.sources.URLConfigurationSource : To enable URLs as dynamic configuration sources, define System property archaius.configurationSource.additionalUrls or make config.properties available on classpath.
2020-11-14 17:52:00.934 INFO 4872 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2020-11-14 17:52:01.215 INFO 4872 --- [ main] o.s.s.c.ThreadPoolTaskScheduler : Initializing ExecutorService 'taskScheduler'
2020-11-14 17:52:03.158 INFO 4872 --- [ main] o.s.c.b.config.BladeRetryConfiguration : configServerRetryInterceptor: Changing backOffOptions to initial: 1000, multiplier: 1.2, maxInterval: 5000
2020-11-14 17:52:03.202 INFO 4872 --- [ main] o.s.core.log.logger.BladeLogger : epo-auth: BladeLogger init success!
2020-11-14 17:52:03.376 INFO 4872 --- [ main] pertySourcedRequestMappingHandlerMapping : Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2ControllerWebMvc#getDocumentation(String, HttpServletRequest)]
2020-11-14 17:55:35.310 INFO 4872 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: OrRequestMatcher [requestMatchers=[Ant [pattern='/oauth/token'], Ant [pattern='/oauth/token_key'], Ant [pattern='/oauth/check_token']]], [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@5a69f1ef, org.springframework.security.web.context.SecurityContextPersistenceFilter@732f7660, org.springframework.security.web.header.HeaderWriterFilter@21cb907d, org.springframework.security.web.authentication.logout.LogoutFilter@55b56db3, org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter@730c4dfd, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@ae20523, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@2e5d40a4, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@38fc1904, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@54fd5f6, org.springframework.security.web.session.SessionManagementFilter@70c741be, org.springframework.security.web.access.ExceptionTranslationFilter@f2bec99, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3acae925]
2020-11-14 17:55:35.358 INFO 4872 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfiguration$NotOAuthRequestMatcher@583f6270, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2bd24c09, org.springframework.security.web.context.SecurityContextPersistenceFilter@504521ae, org.springframework.security.web.header.HeaderWriterFilter@5d4f0fd5, org.springframework.security.web.authentication.logout.LogoutFilter@22aaa811, org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter@4b5c84be, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@7e86ff3b, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@5aaecd25, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@3e6b8b27, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@4a9e6ea7, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6f8af186, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@7e199cec, org.springframework.security.web.session.SessionManagementFilter@2092b072, org.springframework.security.web.access.ExceptionTranslationFilter@37a5ac85, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@58230224]
2020-11-14 17:55:35.365 INFO 4872 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: any request, [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@9e7d82e, org.springframework.security.web.context.SecurityContextPersistenceFilter@3e1596c3, org.springframework.security.web.header.HeaderWriterFilter@28b5cee, org.springframework.security.web.authentication.logout.LogoutFilter@73f506d7, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@1d957b5a, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5ae68d0e, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@252d690, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@49de1717, org.springframework.security.web.session.SessionManagementFilter@7452e4ec, org.springframework.security.web.access.ExceptionTranslationFilter@3d4b3b94]
2020-11-14 17:55:37.069 WARN 4872 --- [ main] s.o.SpringCloudSecurityAutoConfiguration : All Spring Cloud Security modules and starters are deprecated. They will be moved to individual projects in the next major release.
2020-11-14 17:55:38.293 INFO 4872 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Documentation plugins bootstrapped
2020-11-14 17:55:38.298 INFO 4872 --- [ main] d.s.w.p.DocumentationPluginsBootstrapper : Found 1 custom documentation plugin(s)
2020-11-14 17:55:38.381 INFO 4872 --- [ main] s.d.s.w.s.ApiListingReferenceScanner : Scanning for api listing references
2020-11-14 17:55:38.759 INFO 4872 --- [ main] io.undertow : starting server: Undertow - 2.0.32.Final
2020-11-14 17:55:38.770 INFO 4872 --- [ main] org.xnio : XNIO version 3.3.8.Final
2020-11-14 17:55:38.783 INFO 4872 --- [ main] org.xnio.nio : XNIO NIO Implementation Version 3.3.8.Final
2020-11-14 17:55:38.860 INFO 4872 --- [ main] o.s.b.w.e.u.UndertowServletWebServer : Undertow started on port(s) 8100 (http) with context path ''
2020-11-14 17:55:38.872 INFO 4872 --- [ main] c.a.c.n.registry.NacosServiceRegistry : nacos registry, DEFAULT_GROUP epo-auth 192.168.188.95:8100 register finished
2020-11-14 17:55:40.043 INFO 4872 --- [ main] org.springblade.auth.AuthApplication : Started AuthApplication in 234.061 seconds (JVM running for 236.796)
2020-11-14 17:55:40.052 INFO 4872 --- [ async-task-1] o.s.core.launch.StartEventListener : ---[EPO-AUTH]---启动完成,当前使用的端口:[8100],环境变量:[dev]---
2020-11-14 17:55:41.375 INFO 4872 --- [-192.168.188.95] io.undertow.servlet : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-11-14 17:55:41.375 INFO 4872 --- [-192.168.188.95] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2020-11-14 17:55:41.410 INFO 4872 --- [-192.168.188.95] o.s.web.servlet.DispatcherServlet : Completed initialization in 35 ms
2020-11-14 17:55:43.560 WARN 4872 --- [-192.168.188.95] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://localhost:3306/bladex?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8, version : 1.2.2, lastPacketReceivedIdleMillis : 228293
2020-11-14 17:55:43.562 WARN 4872 --- [-192.168.188.95] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://localhost:3306/bladex?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8, version : 1.2.2, lastPacketReceivedIdleMillis : 228317
2020-11-14 17:55:43.564 WARN 4872 --- [-192.168.188.95] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://localhost:3306/bladex?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8, version : 1.2.2, lastPacketReceivedIdleMillis : 228325
2020-11-14 17:55:43.566 WARN 4872 --- [-192.168.188.95] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://localhost:3306/bladex?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8, version : 1.2.2, lastPacketReceivedIdleMillis : 228332
2020-11-14 17:55:43.568 WARN 4872 --- [-192.168.188.95] c.a.druid.pool.DruidAbstractDataSource : discard long time none received connection. , jdbcUrl : jdbc:mysql://localhost:3306/bladex?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8, version : 1.2.2, lastPacketReceivedIdleMillis : 228343
2020-11-14 17:55:43.838 INFO 4872 --- [oundedElastic-1] io.lettuce.core.EpollProvider : Starting without optional epoll library
2020-11-14 17:55:43.841 INFO 4872 --- [oundedElastic-1] io.lettuce.core.KqueueProvider : Starting without optional kqueue library
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select client_id, client_secret, resource_ids, scope, authorized_grant_types, web_server_redirect_uri, authorities, access_token_validity, refresh_token_validity, additional_information, autoapprove from oauth_client_details where client_id = ?]; nested exception is java.sql.SQLSyntaxErrorException: Table 'bladex.oauth_client_details' doesn't exist
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1443)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:633)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:700)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:712)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:790)
at org.springframework.security.oauth2.provider.client.JdbcClientDetailsService.loadClientByClientId(JdbcClientDetailsService.java:119)
at org.springblade.auth.service.BladeClientDetailsServiceImpl.loadClientByClientId(BladeClientDetailsServiceImpl.java:45)
at org.springframework.security.oauth2.provider.client.ClientDetailsUserDetailsService.loadUserByUsername(ClientDetailsUserDetailsService.java:47)
at org.springframework.security.authentication.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:108)
at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:144)
at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:175)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:169)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:109)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLSyntaxErrorException: Table 'bladex.oauth_client_details' doesn't exist
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1003)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:227)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:678)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617)
... 77 more
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select client_id, client_secret, resource_ids, scope, authorized_grant_types, web_server_redirect_uri, authorities, access_token_validity, refresh_token_validity, additional_information, autoapprove from oauth_client_details where client_id = ?]; nested exception is java.sql.SQLSyntaxErrorException: Table 'bladex.oauth_client_details' doesn't exist
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1443)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:633)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:700)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:712)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:790)
at org.springframework.security.oauth2.provider.client.JdbcClientDetailsService.loadClientByClientId(JdbcClientDetailsService.java:119)
at org.springblade.auth.service.BladeClientDetailsServiceImpl.loadClientByClientId(BladeClientDetailsServiceImpl.java:45)
at org.springframework.security.oauth2.provider.client.ClientDetailsUserDetailsService.loadUserByUsername(ClientDetailsUserDetailsService.java:47)
at org.springframework.security.authentication.dao.DaoAuthenticationProvider.retrieveUser(DaoAuthenticationProvider.java:108)
at org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:144)
at org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:175)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:169)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:109)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLSyntaxErrorException: Table 'bladex.oauth_client_details' doesn't exist
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
at com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1003)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeQuery(DruidPooledPreparedStatement.java:227)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:678)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617)
... 77 more
五、若有更多详细信息,请在下面提供。
看到之前有人提过这个问题,但是没有说具体的调试/查看方法,只是说看看客户端信息有没有被覆盖(这个具体看那个地方), 初步看了配置都没问题,代码也没改, 就是自定义oauth表不起作用;麻烦帮忙看下,谢谢!
扫一扫访问 Blade技术社区 移动端