一、该问题的重现步骤是什么?
在000000租户下设置domin_url在登录直接报错


3.
INSERT INTO `bladex490_dev`.`blade_auth_lock` (`id`, `user_id`, `tenant_id`, `lock_type`, `lock_status`, `lock_target`, `remote_ip`, `user_agent`, `fail_count`, `lock_begin_time`, `lock_end_time`, `lock_reason`, `unlock_reason`, `status`, `is_deleted`) VALUES (2043976291146203137, 1123598821738675201, '000000', 'SYSTEM', 'PRE_LOCKED', 'admin', '0:0:0:0:0:0:0:1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.4.300', 1, '2026-04-14 16:54:58', NULL, NULL, NULL, 1, 0);
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
boot490 window10 dev
四、请提供详细的错误堆栈信息,这很重要。
java.lang.NullPointerException: Cannot invoke "org.springblade.modules.system.pojo.entity.Param.getParamValue()" because "param" is null
at org.springblade.modules.system.service.impl.ParamServiceImpl.getValue(ParamServiceImpl.java:47)
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:568)
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.modules.system.service.impl.ParamServiceImpl$$SpringCGLIB$$0.getValue(<generated>)
at org.springblade.common.cache.ParamCache.lambda$getValue$1(ParamCache.java:68)
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.common.cache.ParamCache.getValue(ParamCache.java:68)
at org.springblade.modules.system.service.impl.AuthLockServiceImpl.getLockDurationMinutes(AuthLockServiceImpl.java:383)
at org.springblade.modules.system.service.impl.AuthLockServiceImpl.incrementFailCount(AuthLockServiceImpl.java:179)
at org.springblade.modules.system.service.impl.AuthLockServiceImpl.addIpFailCount(AuthLockServiceImpl.java:74)
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:568)
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.modules.system.service.impl.AuthLockServiceImpl$$SpringCGLIB$$0.addIpFailCount(<generated>)
at org.springblade.modules.auth.handler.BladeLockHandler.lambda$handleAuthFailure$0(BladeLockHandler.java:118)
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run$$$capture(CompletableFuture.java:1804)
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java)
at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)
at java.base/java.util.concurrent.ForkJoinTask.doExec$$$capture(ForkJoinTask.java:373)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
五、若有更多详细信息,请在下面提供。
没有问题 浏览器http://localhost:2888/login 自动填充了我其他系统的账号密码
如果是其他系统的账号密码应该也是提示认证失败才对,不应该抛异常,我们再去看看能不能优化下逻辑
还有一个就是设置domain_url后 按照正常我不配置background_url 就走默认的 配置了 就走我配置的 但是不管是我配置 还是没有配置都是空白的

好的,我们排查下
扫一扫访问 Blade技术社区 移动端