获取token 接口一直报400错误

Blade 未结 2 237
8527
8527 2026-06-02 11:16

我是新下载的bladeX 企业项目,运行的是cloud 版本,将项目按照文档配置并成功运行之后,开始进行前后端调试,准备进入系统之前。在借口文档中进行token调用,按照文档都配置好了,但是一直报400错误,我希望解决这个错误,求助

2026-06-02 10:28:33.963  WARN 33241 --- [  XNIO-1 task-3] o.s.auth.handler.BladeLockHandler        : 账号锁定校验异常: [400 Bad Request] during [GET] to [http://blade-system/feign/client/auth-lock/is-account-locked?account=admin] [IAuthLockClient#isAccountLocked(String,String)]: [{"code":400,"success":false,"data":{},"msg":"缺少必要的请求参数: tenantId"}]
2026-06-02 10:28:33.966  WARN 33241 --- [  XNIO-1 task-3] o.s.auth.handler.BladeLockHandler        : IP锁定校验异常: [400 Bad Request] during [GET] to [http://blade-system/feign/client/auth-lock/is-ip-locked?ip=192.168.1.2] [IAuthLockClient#isIpLocked(String,String)]: [{"code":400,"success":false,"data":{},"msg":"缺少必要的请求参数: tenantId"}]
2026-06-02 10:28:33.971 ERROR 33241 --- [  XNIO-1 task-3] o.s.c.l.e.BladeRestExceptionTranslator   : 服务器异常

feign.FeignException$BadRequest: [400 Bad Request] during [GET] to [http://blade-system/feign/client/user/info/info-by-tenant-id-account-type?account=admin&userType=web] [IUserClient#userInfo(String,String,String)]: [{"code":400,"success":false,"data":{},"msg":"缺少必要的请求参数: tenantId"}]

4ce46814-423d-46e2-8afb-d77df50c3516.png

5ccc72e7-cbdd-40c3-a20f-c6794ea248de.pngbd9edf3b-a217-4d06-a398-c3bb79c1ed6f.png

前端调用登录也报错

c09e2f95-5824-424d-bfb2-740d90ed2d6d.png

bbf18ab8-fc12-4a91-9477-364bbe56d5ff.png

2条回答
  •  8527
    8527 (楼主)
    2026-06-03 10:04

    前端代码和后端代码都是原始的状态下,使用前端页面登录,以下是后端的system和auth 两个模块的报错日志


    2026-06-03 10:02:19.569 ERROR 19943 --- [  XNIO-1 task-2] o.s.c.l.e.BladeRestExceptionTranslator   : 服务器异常


    java.lang.NullPointerException: Cannot invoke "org.springblade.system.pojo.entity.Param.getParamValue()" because "param" is null

    at org.springblade.system.service.impl.ParamServiceImpl.getValue(ParamServiceImpl.java:46)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:569)

    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)

    at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:172)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)

    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)

    at org.springblade.system.service.impl.ParamServiceImpl$$SpringCGLIB$$0.getValue()

    at org.springblade.system.feign.SysClient.getParamValue(SysClient.java:194)

    at jdk.internal.reflect.GeneratedMethodAccessor112.invoke(Unknown Source)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:569)

    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)

    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)

    at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128)

    at jdk.internal.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:569)

    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649)

    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631)

    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173)

    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)

    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)

    at org.springblade.system.feign.SysClient$$SpringCGLIB$$0.getParamValue()

    at jdk.internal.reflect.GeneratedMethodAccessor112.invoke(Unknown Source)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:569)

    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)

    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)

    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)

    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)

    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)

    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)

    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)

    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)

    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)

    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)

    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:633)

    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)

    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723)

    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)

    at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)

    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:117)

    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:75)

    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)

    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

    at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)

    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:278)

    at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:131)

    at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:128)

    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:258)

    at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:100)

    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:418)

    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:938)

    at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)

    at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691)

    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670)

    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615)

    at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)

    at java.base/java.lang.Thread.run(Thread.java:840)


    feign.FeignException$InternalServerError: [500 Internal Server Error] during [GET] to [http://blade-system/feign/client/system/param-value?paramKey=account.lockDuration] [ISysClient#getParamValue(String)]: [{"code":500,"success":false,"data":{},"msg":"Cannot invoke \"org.springblade.system.pojo.entity.Param.getParamValue()\" because \"param\" is null"}]

    at feign.FeignException.serverErrorStatus(FeignException.java:281)

    at feign.FeignException.errorStatus(FeignException.java:226)

    at feign.FeignException.errorStatus(FeignException.java:213)

    at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:103)

    at feign.InvocationContext.decodeError(InvocationContext.java:133)

    at feign.InvocationContext.proceed(InvocationContext.java:80)

    at feign.ResponseHandler.handleResponse(ResponseHandler.java:69)

    at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:109)

    at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:53)

    at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:104)

    at org.springframework.cloud.openfeign.FeignCachingInvocationHandlerFactory$1.proceed(FeignCachingInvocationHandlerFactory.java:66)

    at org.springframework.cache.interceptor.CacheInterceptor.lambda$invoke$0(CacheInterceptor.java:55)

    at org.springframework.cache.interceptor.CacheAspectSupport.invokeOperation(CacheAspectSupport.java:431)

    at org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:416)

    at org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:65)

    at org.springframework.cloud.openfeign.FeignCachingInvocationHandlerFactory.lambda$create$1(FeignCachingInvocationHandlerFactory.java:53)

    at jdk.proxy2/jdk.proxy2.$Proxy261.getParamValue(Unknown Source)

    at org.springblade.system.cache.ParamCache.lambda$getValue$1(ParamCache.java:76)

    at org.springblade.core.cache.utils.CacheUtil.getWithLoader(CacheUtil.java:297)

    at org.springblade.core.cache.utils.CacheUtil.get(CacheUtil.java:254)

    at org.springblade.core.cache.utils.CacheUtil.get(CacheUtil.java:234)

    at org.springblade.system.cache.ParamCache.getValue(ParamCache.java:75)

    at org.springblade.system.service.impl.AuthLockServiceImpl.getLockDurationMinutes(AuthLockServiceImpl.java:325)

    at org.springblade.system.service.impl.AuthLockServiceImpl.incrementFailCount(AuthLockServiceImpl.java:166)

    at org.springblade.system.service.impl.AuthLockServiceImpl.addIpFailCount(AuthLockServiceImpl.java:83)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:569)

    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)

    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380)

    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)

    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)

    at org.springblade.system.service.impl.AuthLockServiceImpl$$SpringCGLIB$$0.addIpFailCount()

    at org.springblade.system.feign.AuthLockClient.addIpFailCount(AuthLockClient.java:72)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:569)

    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)

    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)

    at org.springblade.core.log.aspect.RequestLogAspect.aroundApi(RequestLogAspect.java:128)

    at jdk.internal.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:569)

    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:649)

    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:631)

    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:173)

    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)

    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)

    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)

    at org.springblade.system.feign.AuthLockClient$$SpringCGLIB$$0.addIpFailCount()

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:569)

    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)

    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)

    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)

    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)

    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)

    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)

    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)

    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)

    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)

    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)

    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653)

    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)

    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723)

    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)

    at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)

    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springblade.core.boot.request.BladeRequestFilter.doFilter(BladeRequestFilter.java:104)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:117)

    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:75)

    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)

    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

    at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)

    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:278)

    at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:131)

    at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:128)

    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:258)

    at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:100)

    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:418)

    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:938)

    at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)

    at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691)

    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670)

    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615)

    at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)

    at java.base/java.lang.Thread.run(Thread.java:840)

    2026-06-03 10:02:19.630  INFO 19943 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, user_id, lock_begin_time, lock_end_time , lock_reason, unlock_reason, fail_count, status, is_deleted from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_type = 'SYSTEM' and lock_status = 'PRE_LOCKED' and lock_target = '192.168.1.2' and is_deleted = 0 and lock_begin_time > TIMESTAMP '2026-06-03 09:32:19.545' order by lock_begin_time desc

    Execute Time: 2.481ms

    ==============  Sql  End   ==============


    2026-06-03 10:02:19.637  INFO 19943 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : update blade_auth_lock set fail_count = 4, remote_ip = '192.168.1.2', user_agent = 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36' where is_deleted = 0 and (id = 2061991540048449538 and lock_status = 'PRE_LOCKED')

    Execute Time: 1.890ms

    ==============  Sql  End   ==============


    2026-06-03 10:02:19.651  INFO 19943 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : update blade_auth_lock set lock_status = 'LOCKED', lock_end_time = TIMESTAMP '2026-06-03 10:32:19.545', lock_reason = '连续认证失败次数达到阈值(5次),系统自动锁定' where is_deleted = 0 and id = 2061991540048449538 and lock_status = 'PRE_LOCKED' and fail_count >= 5

    Execute Time: 1.708ms

    ==============  Sql  End   ==============


    2026-06-03 10:02:19.673  INFO 19943 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":null,"msg":"success"}

    <=== POST: /feign/client/auth-lock/add-ip-fail-count (144 ms)

    ===============   Response End   ================



    2026-06-03 10:02:14.079  INFO 33241 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:02:19.333  WARN 33241 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : ----------OAuth2认证异常,具体信息如下----------

    2026-06-03 10:02:19.333  WARN 33241 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : OAuth2Request: OAuth2Request(clientArgs={client_id=saber3, client_secret=saber3_secret}, parameterArgs={username=admin, password=acc0a8d510f723090ed2cf9926dcf6b7647e6763582d793162655f702a84bc79334be44f0eef651588eb711dc7fb2c0cba76dee1ce4d2a50c88192baf6c84e86c70dcda0304c0473af703a5f5b330f22f9993366d0864f0a9c966dabe1ee91c0c3e29b7032, grant_type=captcha, scope=all}, headerArgs={Authorization=Basic c2FiZXIzOnNhYmVyM19zZWNyZXQ=, Tenant-Id=000000, Role-Id=, Dept-Id=, Captcha-Key=9c480def-5ed3-4723-a819-dfdb360d7dec, Captcha-Code=nrnsv}, httpRequest=org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@73439cc)

    2026-06-03 10:02:19.333  WARN 33241 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : OAuth2Exception: 


    org.springblade.core.oauth2.exception.UserInvalidException: 认证信息错误或无效

    Caused by: java.lang.Throwable: null

    at org.springblade.core.oauth2.utils.OAuth2ExceptionUtil.lambda$static$4(OAuth2ExceptionUtil.java:57)

    at org.springblade.core.oauth2.utils.OAuth2ExceptionUtil.throwFromCode(OAuth2ExceptionUtil.java:108)

    at org.springblade.core.oauth2.granter.AbstractTokenGranter.user(AbstractTokenGranter.java:113)

    at org.springblade.core.oauth2.granter.PasswordTokenGranter.user(PasswordTokenGranter.java:56)

    at org.springblade.auth.granter.CaptchaTokenGranter.user(CaptchaTokenGranter.java:71)

    at org.springblade.core.oauth2.endpoint.OAuth2TokenEndPoint.token(OAuth2TokenEndPoint.java:117)

    at jdk.internal.reflect.GeneratedMethodAccessor255.invoke(Unknown Source)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:569)

    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)

    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)

    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)

    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)

    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)

    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)

    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)

    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)

    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)

    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)

    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653)

    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)

    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723)

    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)

    at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142)

    at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)

    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:117)

    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:75)

    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)

    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

    at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)

    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:278)

    at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:131)

    at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:128)

    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:258)

    at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:100)

    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:418)

    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:938)

    at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)

    at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691)

    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670)

    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615)

    at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)

    at java.base/java.lang.Thread.run(Thread.java:840)


    2026-06-03 10:02:19.333  WARN 33241 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : --------------------------------------------

    2026-06-03 10:02:19.334 ERROR 33241 --- [  XNIO-1 task-3] o.s.a.handler.BladeAuthorizationHandler  : 用户:admin,认证失败,失败原因:认证信息错误或无效

    2026-06-03 10:02:34.071  INFO 33241 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:02:54.068  INFO 33241 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:03:14.069  INFO 33241 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:03:34.067  INFO 33241 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:03:54.070  INFO 33241 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]



    作者追问:2026-06-03 10:04

    执行一下这个sql,然后再看看具体的报错是什么

    INSERT INTO `blade_param` (`id`, `param_name`, `param_key`, `param_value`, `remark`, `create_user`, `create_dept`, `create_time`, `update_user`, `update_time`, `status`, `is_deleted`)
    VALUES (1123598819738675204, '账号锁定时长(分钟)', 'account.lockDuration', '30', '锁定时长', 1123598821738675201, 1123598813738675201, '2025-12-01 12:00:00', 1123598821738675201, '2025-12-01 12:00:00', 1, 0);


    回答: 2026-06-03 10:04

    ff666a2c-fc28-4f34-827e-c44648411198.png

    作者追问:2026-06-03 10:04

    检查格式,截图截全,我这边写入没有问题


    CleanShot20260603101412@2x.png

    回答: 2026-06-03 10:04

    5663b650-c2b8-4c94-a346-5d826c9c4fb4.png

    回答: 2026-06-03 10:04

    1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO `blade_param` (`id`, `param_name`, `param_key`, `param_value`,' at line 1


    作者追问:2026-06-03 10:04

    打开blade_param表,随意选中一行数据,右键导出insert的sql语句。

    把上面的sql和导出的对比下看看有么有什么差别,有差别则改成你导出的sql,内容填进去执行。

    如果执行还失败就手动把数据填到数据库去。


    给你的就是标准sql,执行不了不确定是不是你的sql编辑器问题还是数据库版本问题,把数据写入到blade_param表,然后再重启服务,登录看下新的报错日志是什么。

    回答: 2026-06-03 10:04

    1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO `blade_param` (`id`, `param_name`, `param_key`, `param_value`,' at line 1


    回答: 2026-06-03 10:04

    以上操作都做了,重启了项目,以下是system和auth 的报错日志

    2026-06-03 10:46:23.961  INFO 44527 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:46:30.811  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> GET: /feign/client/auth-lock/is-account-locked Parameters: {"tenantId":"000000","account":"admin"}

    ===Headers===  authorization: Basic c2FiZXIzOnNhYmVyM19zZWNyZXQ=

    ===Headers===  Accept: */*

    ===Headers===  accept-language: zh-cn

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ===Headers===  blade-requested-with: BladeHttpRequest

    ================   Request End   ================


    2026-06-03 10:46:30.869  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select count(*) as total from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_status = 'LOCKED' and lock_target = 'admin' and is_deleted = 0 and lock_begin_time <= TIMESTAMP '2026-06-03 10:46:30.813' and ((lock_type = 'SYSTEM' and lock_end_time is not null and lock_end_time > TIMESTAMP '2026-06-03 10:46:30.813') or (lock_type = 'MANUAL' and (lock_end_time is null or lock_end_time > TIMESTAMP '2026-06-03 10:46:30.813')))

    Execute Time: 5.719ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:30.869  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":false,"msg":"操作成功"}

    <=== GET: /feign/client/auth-lock/is-account-locked (57 ms)

    ===============   Response End   ================


    2026-06-03 10:46:30.894  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> GET: /feign/client/auth-lock/is-ip-locked Parameters: {"ip":"192.168.1.2","tenantId":"000000"}

    ===Headers===  authorization: Basic c2FiZXIzOnNhYmVyM19zZWNyZXQ=

    ===Headers===  Accept: */*

    ===Headers===  accept-language: zh-cn

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ===Headers===  blade-requested-with: BladeHttpRequest

    ================   Request End   ================


    2026-06-03 10:46:30.904  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select count(*) as total from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_status = 'LOCKED' and lock_target = '192.168.1.2' and is_deleted = 0 and lock_begin_time <= TIMESTAMP '2026-06-03 10:46:30.895' and ((lock_type = 'SYSTEM' and lock_end_time is not null and lock_end_time > TIMESTAMP '2026-06-03 10:46:30.895') or (lock_type = 'MANUAL' and (lock_end_time is null or lock_end_time > TIMESTAMP '2026-06-03 10:46:30.895')))

    Execute Time: 1.015ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:30.904  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":false,"msg":"操作成功"}

    <=== GET: /feign/client/auth-lock/is-ip-locked (9 ms)

    ===============   Response End   ================


    2026-06-03 10:46:30.922  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> GET: /feign/client/user/info/info-by-tenant-id-account-type Parameters: {"tenantId":"000000","userType":"web","account":"admin"}

    ===Headers===  authorization: Basic c2FiZXIzOnNhYmVyM19zZWNyZXQ=

    ===Headers===  Accept: */*

    ===Headers===  accept-language: zh-cn

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ===Headers===  blade-requested-with: BladeHttpRequest

    ================   Request End   ================


    2026-06-03 10:46:30.951  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select * from blade_user where tenant_id = '000000' and account = 'admin' and status = 1 and is_deleted = 0

    Execute Time: 0.987ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:30.970  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select role_alias from blade_role where id in (1123598816738675201) and is_deleted = 0

    Execute Time: 2.732ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:30.975  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, user_id, user_ext, status, is_deleted from blade_user_web where is_deleted = 0 and (user_id = 1123598821738675201)

    Execute Time: 0.825ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:30.984  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":{"oauthId":null,"user":{"id":"1123598821738675201","createUser":"1123598821738675201","createDept":"1123598813738675201","createTime":"2018-08-08 00:00:00","updateUser":"1123598821738675201","updateTime":"2018-08-08 00:00:00","status":1,"isDeleted":0,"tenantId":"000000","code":null,"userType":1,"account":"admin","password":"90b9aa7e25f80cf4f64e990b78a9fc5ebd6cecad","name":"管理员","realName":"管理员","avatar":"https://bladex.cn/images/logo-small.png","email":"admin@bladex.vip","phone":"","birthday":"2018-08-08 00:00:00","sex":1,"roleId":"1123598816738675201","deptId":"1123598813738675201","postId":"1123598817738675201","leaderId":null,"isLeader":0},"detail":{"type":"web"},"permissions":null,"roles":["administrator"]},"msg":"操作成功"}

    <=== GET: /feign/client/user/info/info-by-tenant-id-account-type (61 ms)

    ===============   Response End   ================


    2026-06-03 10:46:31.304  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> POST: /feign/client/auth-lock/add-account-fail-count Parameters: {"ip":"192.168.1.2","tenantId":"000000","userAgent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36","userId":null,"account":"admin"}

    ===Headers===  Accept: */*

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ================   Request End   ================


    2026-06-03 10:46:31.327  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select count(*) as total from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_status = 'LOCKED' and lock_target = 'admin' and is_deleted = 0 and lock_begin_time <= TIMESTAMP '2026-06-03 10:46:31.312' and ((lock_type = 'SYSTEM' and lock_end_time is not null and lock_end_time > TIMESTAMP '2026-06-03 10:46:31.312') or (lock_type = 'MANUAL' and (lock_end_time is null or lock_end_time > TIMESTAMP '2026-06-03 10:46:31.312')))

    Execute Time: 1.212ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.359  INFO 44527 --- [  XNIO-1 task-3] o.s.c.openfeign.FeignClientFactoryBean   : For 'blade-system' URL not provided. Will try picking an instance via load-balancing.

    2026-06-03 10:46:31.514  INFO 44527 --- [  XNIO-1 task-2] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> GET: /feign/client/system/param-value Parameters: {"paramKey":"account.lockDuration"}

    ===Headers===  Accept: */*

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ================   Request End   ================


    2026-06-03 10:46:31.540  INFO 44527 --- [  XNIO-1 task-2] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, param_name, param_key, param_value, remark , create_user, create_dept, create_time, update_user, update_time , status, is_deleted from blade_param where is_deleted = 0 and (param_key = 'account.lockDuration')

    Execute Time: 2.147ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.541  INFO 44527 --- [  XNIO-1 task-2] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":"30","msg":"操作成功"}

    <=== GET: /feign/client/system/param-value (27 ms)

    ===============   Response End   ================


    2026-06-03 10:46:31.653  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, user_id, lock_begin_time, lock_end_time , lock_reason, unlock_reason, fail_count, status, is_deleted from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_type = 'SYSTEM' and lock_status = 'PRE_LOCKED' and lock_target = 'admin' and is_deleted = 0 and lock_begin_time > TIMESTAMP '2026-06-03 10:16:31.328' order by lock_begin_time desc

    Execute Time: 2.587ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.672  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : insert into blade_auth_lock (id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, lock_begin_time, fail_count) values (2062002964929933314, '000000', 'SYSTEM', 'PRE_LOCKED', 'admin' , '192.168.1.2', 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36', TIMESTAMP '2026-06-03 10:46:31.328', 1)

    Execute Time: 5.074ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.683  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, user_id, lock_begin_time, lock_end_time , lock_reason, unlock_reason, fail_count, status, is_deleted from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_type = 'SYSTEM' and lock_status = 'PRE_LOCKED' and lock_target = 'admin' and is_deleted = 0 and lock_begin_time > TIMESTAMP '2026-06-03 10:16:31.328' order by id asc

    Execute Time: 1.033ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.712  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":null,"msg":"success"}

    <=== POST: /feign/client/auth-lock/add-account-fail-count (408 ms)

    ===============   Response End   ================


    2026-06-03 10:46:31.725  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> POST: /feign/client/auth-lock/add-ip-fail-count Parameters: {"ip":"192.168.1.2","tenantId":"000000","userAgent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36"}

    ===Headers===  Accept: */*

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ================   Request End   ================


    2026-06-03 10:46:31.736  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select count(*) as total from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_status = 'LOCKED' and lock_target = '192.168.1.2' and is_deleted = 0 and lock_begin_time <= TIMESTAMP '2026-06-03 10:46:31.726' and ((lock_type = 'SYSTEM' and lock_end_time is not null and lock_end_time > TIMESTAMP '2026-06-03 10:46:31.726') or (lock_type = 'MANUAL' and (lock_end_time is null or lock_end_time > TIMESTAMP '2026-06-03 10:46:31.726')))

    Execute Time: 2.330ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.747  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, user_id, lock_begin_time, lock_end_time , lock_reason, unlock_reason, fail_count, status, is_deleted from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_type = 'SYSTEM' and lock_status = 'PRE_LOCKED' and lock_target = '192.168.1.2' and is_deleted = 0 and lock_begin_time > TIMESTAMP '2026-06-03 10:16:31.736' order by lock_begin_time desc

    Execute Time: 0.996ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.753  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : insert into blade_auth_lock (id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, lock_begin_time, fail_count) values (2062002965303226370, '000000', 'SYSTEM', 'PRE_LOCKED', '192.168.1.2' , '192.168.1.2', 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36', TIMESTAMP '2026-06-03 10:46:31.736', 1)

    Execute Time: 1.272ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.761  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, user_id, lock_begin_time, lock_end_time , lock_reason, unlock_reason, fail_count, status, is_deleted from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_type = 'SYSTEM' and lock_status = 'PRE_LOCKED' and lock_target = '192.168.1.2' and is_deleted = 0 and lock_begin_time > TIMESTAMP '2026-06-03 10:16:31.736' order by id asc

    Execute Time: 1.025ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.783  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":null,"msg":"success"}

    <=== POST: /feign/client/auth-lock/add-ip-fail-count (57 ms)

    ===============   Response End   ================


    2026-06-03 10:46:43.961  INFO 44527 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]


    2026-06-03 10:46:31.275  WARN 44474 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : ----------OAuth2认证异常,具体信息如下----------

    2026-06-03 10:46:31.275  WARN 44474 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : OAuth2Request: OAuth2Request(clientArgs={client_id=saber3, client_secret=saber3_secret}, parameterArgs={username=admin, password=e823afa9c22d0d3b545988bdb71386a88313362064226b2c1ca9cfbc96a9b691de7ea0a6beb8a24230a53a3b5746b73f418edfc6a0c43694c1d19fadcd1d1ff70c13dba3299bd99f391181c9c4d96867a9ce878914cc5a8963ebd351134222d0c253a93f6f, grant_type=captcha, scope=all}, headerArgs={Authorization=Basic c2FiZXIzOnNhYmVyM19zZWNyZXQ=, Tenant-Id=000000, Role-Id=, Dept-Id=, Captcha-Key=0839aa80-ed8d-4ab2-b241-4c34a00d8b71, Captcha-Code=vtwfx}, httpRequest=org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@5e3dea30)

    2026-06-03 10:46:31.278  WARN 44474 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : OAuth2Exception: 


    org.springblade.core.oauth2.exception.UserInvalidException: 认证信息错误或无效

    Caused by: java.lang.Throwable: null

    at org.springblade.core.oauth2.utils.OAuth2ExceptionUtil.lambda$static$4(OAuth2ExceptionUtil.java:57)

    at org.springblade.core.oauth2.utils.OAuth2ExceptionUtil.throwFromCode(OAuth2ExceptionUtil.java:108)

    at org.springblade.core.oauth2.granter.AbstractTokenGranter.user(AbstractTokenGranter.java:113)

    at org.springblade.core.oauth2.granter.PasswordTokenGranter.user(PasswordTokenGranter.java:56)

    at org.springblade.auth.granter.CaptchaTokenGranter.user(CaptchaTokenGranter.java:71)

    at org.springblade.core.oauth2.endpoint.OAuth2TokenEndPoint.token(OAuth2TokenEndPoint.java:117)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:569)

    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)

    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)

    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)

    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)

    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)

    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)

    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)

    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)

    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)

    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)

    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653)

    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)

    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723)

    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)

    at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142)

    at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)

    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:117)

    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:75)

    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)

    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

    at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)

    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:278)

    at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:131)

    at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:128)

    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:258)

    at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:100)

    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:418)

    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:938)

    at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)

    at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691)

    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670)

    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615)

    at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)

    at java.base/java.lang.Thread.run(Thread.java:840)


    2026-06-03 10:46:31.284  WARN 44474 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : --------------------------------------------

    2026-06-03 10:46:31.285 ERROR 44474 --- [  XNIO-1 task-3] o.s.a.handler.BladeAuthorizationHandler  : 用户:admin,认证失败,失败原因:认证信息错误或无效

    2026-06-03 10:46:33.960  INFO 44474 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:46:53.957  INFO 44474 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:47:13.959  INFO 44474 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:47:33.961  INFO 44474 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]



    回答: 2026-06-03 10:04

    以上操作都做了,重启了项目,以下是system和auth 的报错日志

    2026-06-03 10:46:23.961  INFO 44527 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:46:30.811  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> GET: /feign/client/auth-lock/is-account-locked Parameters: {"tenantId":"000000","account":"admin"}

    ===Headers===  authorization: Basic c2FiZXIzOnNhYmVyM19zZWNyZXQ=

    ===Headers===  Accept: */*

    ===Headers===  accept-language: zh-cn

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ===Headers===  blade-requested-with: BladeHttpRequest

    ================   Request End   ================


    2026-06-03 10:46:30.869  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select count(*) as total from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_status = 'LOCKED' and lock_target = 'admin' and is_deleted = 0 and lock_begin_time <= TIMESTAMP '2026-06-03 10:46:30.813' and ((lock_type = 'SYSTEM' and lock_end_time is not null and lock_end_time > TIMESTAMP '2026-06-03 10:46:30.813') or (lock_type = 'MANUAL' and (lock_end_time is null or lock_end_time > TIMESTAMP '2026-06-03 10:46:30.813')))

    Execute Time: 5.719ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:30.869  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":false,"msg":"操作成功"}

    <=== GET: /feign/client/auth-lock/is-account-locked (57 ms)

    ===============   Response End   ================


    2026-06-03 10:46:30.894  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> GET: /feign/client/auth-lock/is-ip-locked Parameters: {"ip":"192.168.1.2","tenantId":"000000"}

    ===Headers===  authorization: Basic c2FiZXIzOnNhYmVyM19zZWNyZXQ=

    ===Headers===  Accept: */*

    ===Headers===  accept-language: zh-cn

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ===Headers===  blade-requested-with: BladeHttpRequest

    ================   Request End   ================


    2026-06-03 10:46:30.904  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select count(*) as total from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_status = 'LOCKED' and lock_target = '192.168.1.2' and is_deleted = 0 and lock_begin_time <= TIMESTAMP '2026-06-03 10:46:30.895' and ((lock_type = 'SYSTEM' and lock_end_time is not null and lock_end_time > TIMESTAMP '2026-06-03 10:46:30.895') or (lock_type = 'MANUAL' and (lock_end_time is null or lock_end_time > TIMESTAMP '2026-06-03 10:46:30.895')))

    Execute Time: 1.015ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:30.904  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":false,"msg":"操作成功"}

    <=== GET: /feign/client/auth-lock/is-ip-locked (9 ms)

    ===============   Response End   ================


    2026-06-03 10:46:30.922  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> GET: /feign/client/user/info/info-by-tenant-id-account-type Parameters: {"tenantId":"000000","userType":"web","account":"admin"}

    ===Headers===  authorization: Basic c2FiZXIzOnNhYmVyM19zZWNyZXQ=

    ===Headers===  Accept: */*

    ===Headers===  accept-language: zh-cn

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ===Headers===  blade-requested-with: BladeHttpRequest

    ================   Request End   ================


    2026-06-03 10:46:30.951  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select * from blade_user where tenant_id = '000000' and account = 'admin' and status = 1 and is_deleted = 0

    Execute Time: 0.987ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:30.970  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select role_alias from blade_role where id in (1123598816738675201) and is_deleted = 0

    Execute Time: 2.732ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:30.975  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, user_id, user_ext, status, is_deleted from blade_user_web where is_deleted = 0 and (user_id = 1123598821738675201)

    Execute Time: 0.825ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:30.984  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":{"oauthId":null,"user":{"id":"1123598821738675201","createUser":"1123598821738675201","createDept":"1123598813738675201","createTime":"2018-08-08 00:00:00","updateUser":"1123598821738675201","updateTime":"2018-08-08 00:00:00","status":1,"isDeleted":0,"tenantId":"000000","code":null,"userType":1,"account":"admin","password":"90b9aa7e25f80cf4f64e990b78a9fc5ebd6cecad","name":"管理员","realName":"管理员","avatar":"https://bladex.cn/images/logo-small.png","email":"admin@bladex.vip","phone":"","birthday":"2018-08-08 00:00:00","sex":1,"roleId":"1123598816738675201","deptId":"1123598813738675201","postId":"1123598817738675201","leaderId":null,"isLeader":0},"detail":{"type":"web"},"permissions":null,"roles":["administrator"]},"msg":"操作成功"}

    <=== GET: /feign/client/user/info/info-by-tenant-id-account-type (61 ms)

    ===============   Response End   ================


    2026-06-03 10:46:31.304  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> POST: /feign/client/auth-lock/add-account-fail-count Parameters: {"ip":"192.168.1.2","tenantId":"000000","userAgent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36","userId":null,"account":"admin"}

    ===Headers===  Accept: */*

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ================   Request End   ================


    2026-06-03 10:46:31.327  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select count(*) as total from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_status = 'LOCKED' and lock_target = 'admin' and is_deleted = 0 and lock_begin_time <= TIMESTAMP '2026-06-03 10:46:31.312' and ((lock_type = 'SYSTEM' and lock_end_time is not null and lock_end_time > TIMESTAMP '2026-06-03 10:46:31.312') or (lock_type = 'MANUAL' and (lock_end_time is null or lock_end_time > TIMESTAMP '2026-06-03 10:46:31.312')))

    Execute Time: 1.212ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.359  INFO 44527 --- [  XNIO-1 task-3] o.s.c.openfeign.FeignClientFactoryBean   : For 'blade-system' URL not provided. Will try picking an instance via load-balancing.

    2026-06-03 10:46:31.514  INFO 44527 --- [  XNIO-1 task-2] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> GET: /feign/client/system/param-value Parameters: {"paramKey":"account.lockDuration"}

    ===Headers===  Accept: */*

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ================   Request End   ================


    2026-06-03 10:46:31.540  INFO 44527 --- [  XNIO-1 task-2] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, param_name, param_key, param_value, remark , create_user, create_dept, create_time, update_user, update_time , status, is_deleted from blade_param where is_deleted = 0 and (param_key = 'account.lockDuration')

    Execute Time: 2.147ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.541  INFO 44527 --- [  XNIO-1 task-2] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":"30","msg":"操作成功"}

    <=== GET: /feign/client/system/param-value (27 ms)

    ===============   Response End   ================


    2026-06-03 10:46:31.653  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, user_id, lock_begin_time, lock_end_time , lock_reason, unlock_reason, fail_count, status, is_deleted from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_type = 'SYSTEM' and lock_status = 'PRE_LOCKED' and lock_target = 'admin' and is_deleted = 0 and lock_begin_time > TIMESTAMP '2026-06-03 10:16:31.328' order by lock_begin_time desc

    Execute Time: 2.587ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.672  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : insert into blade_auth_lock (id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, lock_begin_time, fail_count) values (2062002964929933314, '000000', 'SYSTEM', 'PRE_LOCKED', 'admin' , '192.168.1.2', 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36', TIMESTAMP '2026-06-03 10:46:31.328', 1)

    Execute Time: 5.074ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.683  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, user_id, lock_begin_time, lock_end_time , lock_reason, unlock_reason, fail_count, status, is_deleted from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_type = 'SYSTEM' and lock_status = 'PRE_LOCKED' and lock_target = 'admin' and is_deleted = 0 and lock_begin_time > TIMESTAMP '2026-06-03 10:16:31.328' order by id asc

    Execute Time: 1.033ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.712  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":null,"msg":"success"}

    <=== POST: /feign/client/auth-lock/add-account-fail-count (408 ms)

    ===============   Response End   ================


    2026-06-03 10:46:31.725  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ================  Request Start  ================

    ===> POST: /feign/client/auth-lock/add-ip-fail-count Parameters: {"ip":"192.168.1.2","tenantId":"000000","userAgent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36"}

    ===Headers===  Accept: */*

    ===Headers===  Connection: keep-alive

    ===Headers===  User-Agent: Java/17.0.19

    ===Headers===  Host: 192.168.1.2:8106

    ================   Request End   ================


    2026-06-03 10:46:31.736  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select count(*) as total from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_status = 'LOCKED' and lock_target = '192.168.1.2' and is_deleted = 0 and lock_begin_time <= TIMESTAMP '2026-06-03 10:46:31.726' and ((lock_type = 'SYSTEM' and lock_end_time is not null and lock_end_time > TIMESTAMP '2026-06-03 10:46:31.726') or (lock_type = 'MANUAL' and (lock_end_time is null or lock_end_time > TIMESTAMP '2026-06-03 10:46:31.726')))

    Execute Time: 2.330ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.747  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, user_id, lock_begin_time, lock_end_time , lock_reason, unlock_reason, fail_count, status, is_deleted from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_type = 'SYSTEM' and lock_status = 'PRE_LOCKED' and lock_target = '192.168.1.2' and is_deleted = 0 and lock_begin_time > TIMESTAMP '2026-06-03 10:16:31.736' order by lock_begin_time desc

    Execute Time: 0.996ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.753  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : insert into blade_auth_lock (id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, lock_begin_time, fail_count) values (2062002965303226370, '000000', 'SYSTEM', 'PRE_LOCKED', '192.168.1.2' , '192.168.1.2', 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36', TIMESTAMP '2026-06-03 10:46:31.736', 1)

    Execute Time: 1.272ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.761  INFO 44527 --- [  XNIO-1 task-3] o.s.core.mp.plugins.SqlLogInterceptor    : 


    ==============  Sql Start  ==============

    Execute SQL : select id, tenant_id, lock_type, lock_status, lock_target , remote_ip, user_agent, user_id, lock_begin_time, lock_end_time , lock_reason, unlock_reason, fail_count, status, is_deleted from blade_auth_lock where is_deleted = 0 and tenant_id = '000000' and lock_type = 'SYSTEM' and lock_status = 'PRE_LOCKED' and lock_target = '192.168.1.2' and is_deleted = 0 and lock_begin_time > TIMESTAMP '2026-06-03 10:16:31.736' order by id asc

    Execute Time: 1.025ms

    ==============  Sql  End   ==============


    2026-06-03 10:46:31.783  INFO 44527 --- [  XNIO-1 task-3] o.s.core.log.aspect.RequestLogAspect     : 


    ===============  Response Start  ================

    ===Result===  {"code":200,"success":true,"data":null,"msg":"success"}

    <=== POST: /feign/client/auth-lock/add-ip-fail-count (57 ms)

    ===============   Response End   ================


    2026-06-03 10:46:43.961  INFO 44527 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]


    2026-06-03 10:46:31.275  WARN 44474 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : ----------OAuth2认证异常,具体信息如下----------

    2026-06-03 10:46:31.275  WARN 44474 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : OAuth2Request: OAuth2Request(clientArgs={client_id=saber3, client_secret=saber3_secret}, parameterArgs={username=admin, password=e823afa9c22d0d3b545988bdb71386a88313362064226b2c1ca9cfbc96a9b691de7ea0a6beb8a24230a53a3b5746b73f418edfc6a0c43694c1d19fadcd1d1ff70c13dba3299bd99f391181c9c4d96867a9ce878914cc5a8963ebd351134222d0c253a93f6f, grant_type=captcha, scope=all}, headerArgs={Authorization=Basic c2FiZXIzOnNhYmVyM19zZWNyZXQ=, Tenant-Id=000000, Role-Id=, Dept-Id=, Captcha-Key=0839aa80-ed8d-4ab2-b241-4c34a00d8b71, Captcha-Code=vtwfx}, httpRequest=org.springframework.web.servlet.resource.ResourceUrlEncodingFilter$ResourceUrlEncodingRequestWrapper@5e3dea30)

    2026-06-03 10:46:31.278  WARN 44474 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : OAuth2Exception: 


    org.springblade.core.oauth2.exception.UserInvalidException: 认证信息错误或无效

    Caused by: java.lang.Throwable: null

    at org.springblade.core.oauth2.utils.OAuth2ExceptionUtil.lambda$static$4(OAuth2ExceptionUtil.java:57)

    at org.springblade.core.oauth2.utils.OAuth2ExceptionUtil.throwFromCode(OAuth2ExceptionUtil.java:108)

    at org.springblade.core.oauth2.granter.AbstractTokenGranter.user(AbstractTokenGranter.java:113)

    at org.springblade.core.oauth2.granter.PasswordTokenGranter.user(PasswordTokenGranter.java:56)

    at org.springblade.auth.granter.CaptchaTokenGranter.user(CaptchaTokenGranter.java:71)

    at org.springblade.core.oauth2.endpoint.OAuth2TokenEndPoint.token(OAuth2TokenEndPoint.java:117)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.base/java.lang.reflect.Method.invoke(Method.java:569)

    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)

    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)

    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)

    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)

    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)

    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)

    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)

    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)

    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)

    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:914)

    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:653)

    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)

    at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:723)

    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)

    at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springblade.core.log.filter.LogTraceFilter.doFilter(LogTraceFilter.java:48)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:142)

    at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82)

    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362)

    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)

    at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)

    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:116)

    at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:67)

    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:117)

    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:75)

    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)

    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

    at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)

    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)

    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:278)

    at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:131)

    at io.undertow.servlet.handlers.ServletInitialHandler$1.call(ServletInitialHandler.java:128)

    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:258)

    at io.undertow.servlet.handlers.ServletInitialHandler.lambda$new$1(ServletInitialHandler.java:100)

    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:418)

    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:938)

    at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)

    at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2691)

    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2670)

    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1615)

    at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)

    at java.base/java.lang.Thread.run(Thread.java:840)


    2026-06-03 10:46:31.284  WARN 44474 --- [  XNIO-1 task-3] o.s.core.oauth2.utils.OAuth2LogUtil      : --------------------------------------------

    2026-06-03 10:46:31.285 ERROR 44474 --- [  XNIO-1 task-3] o.s.a.handler.BladeAuthorizationHandler  : 用户:admin,认证失败,失败原因:认证信息错误或无效

    2026-06-03 10:46:33.960  INFO 44474 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:46:53.957  INFO 44474 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:47:13.959  INFO 44474 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]

    2026-06-03 10:47:33.961  INFO 44474 --- [  XNIO-1 task-3] c.a.c.s.e.SentinelHealthIndicator        : Find sentinel dashboard server list: [Endpoint{protocol=HTTP, host='127.0.0.1, port=9999}]



    作者追问:2026-06-03 10:04

    看这个视频,确认下国密配置是否前后端配置匹配:https://www.bilibili.com/video/BV1GAWTetE1q/


    如果确定没问题,看这里的主要报错位置

    org.springblade.core.oauth2.exception.UserInvalidException: 认证信息错误或无效

    Caused by: java.lang.Throwable: null

    at org.springblade.core.oauth2.utils.OAuth2ExceptionUtil.lambda$static$4(OAuth2ExceptionUtil.java:57)

    at org.springblade.core.oauth2.utils.OAuth2ExceptionUtil.throwFromCode(OAuth2ExceptionUtil.java:108)

    at org.springblade.core.oauth2.granter.AbstractTokenGranter.user(AbstractTokenGranter.java:113)

    at org.springblade.core.oauth2.granter.PasswordTokenGranter.user(PasswordTokenGranter.java:56)


    可以定位到  AbstractTokenGranter.user(AbstractTokenGranter.java:113)


    找到文件对应位置,看下对应的代码其实就是密码匹配失败出现的问题

    CleanShot20260603110421@2x.png


    那么就可以跳转到他的实现类找到具体的地方进行调试,接下来的就是你自行调试就能知道原因了。

    看看到底是国密配置问题,还是数据库密码问题

    CleanShot20260603110507@2x.png

    CleanShot20260603110538@2x.png



    回答: 2026-06-03 10:04

    有个匹配机制,直接拿前端传过来的加密后的密码和在数据库里的user表里的密码直接对比,对比不成功,导致的对比失败,这个怎么解决?b1626689-7367-4cd3-ae57-1ddc558fe54e.png

    作者追问:2026-06-03 10:04

    你上一个回答有截图,真实逻辑是用sm2解密一次前端传过来的密码,解密成数据库字段格式的加密串,然后再与数据库的密码字段进行比对。这种逻辑不可能错的,你应该去检查你自己的配置问题而不是代码逻辑问题。去查一下你的国密publicKey和privateKey是不是配置的同一对。

    回答: 2026-06-03 10:04

    国密已经全都弄好了,还是认证失败,请问前端密码用sm2 解密的代码在哪里

    作者追问:2026-06-03 10:04

    sm2加解密逻辑看这里:https://center.javablade.com/blade/BladeX/src/branch/master/blade-auth/src/test/java/org/springblade/test/Sm2KeyGenerator.java


    如果你觉得配置没有问题,那就从0开始录制视频发我们看下你的操作,录制如下步骤:
     1. 从git私服下载原版工程到新的临时目录

     2. 新建数据库,导入数据库脚本

     3. 删掉nacos配置,重新新建nacos配置

     4. nacos配置publickey和privatekey以及前端配置publickey

     5. 启动前后端服务,后端到下图打断点,把每一步的获取的数据从视频里展示出来

     6. 把这个视频录制好后发我们邮件:bladejava@qq.com

    CleanShot20260603110538@2x.png


提交回复