本地启动开发环境,登录后点击所有模块都提示没有许可,实际上有许可的问题排查及解决方案原创
1人赞赏了该文章
428次浏览
编辑于2024年03月30日 19:36:43
有开发人员反馈,在本地启动环境,联的远程的开发环境的MC,明明登录人员在开发环境有许可的,却在启动本地环境后,登录上去报没有许可的错误。
且进入许可分配页面也报错
点开报错报
kdcosmic-xxx-8881:null Key: TraceId:6600404a02d94063 Instance:kdcosmic-zmylsy-8881-8437904177 发生时间:Tue Mar 26 15:27:10 CST 2024 =================================================== 调用堆栈: java.lang.NullPointerException at kd.bos.permission.util.SchemeUtil.getPublicKeyFromMC(SchemeUtil.java:520) at kd.bos.permission.util.SchemeUtil.getPublicKey(SchemeUtil.java:502) at kd.bos.permission.util.SchemeUtil.signatureValidate(SchemeUtil.java:814) at kd.bos.permission.util.SchemeUtil.generateSignature(SchemeUtil.java:726) at kd.bos.permission.util.SchemeUtil.generateSignature(SchemeUtil.java:437) at kd.bos.permission.service.AbstractPermissionServiceImpl.generateSignature(AbstractPermissionServiceImpl.java:7286) at kd.bos.servicehelper.permission.PermissionServiceHelper.generateSignature(PermissionServiceHelper.java:3089) at kd.bos.license.engine.LicenseUserRelEngine.generateSignature(LicenseUserRelEngine.java:1057) at kd.bos.license.engine.LicenseUserRelEngine.signature(LicenseUserRelEngine.java:726) at kd.bos.license.engine.LicenseUserRelEngine.verifySignAndTotal(LicenseUserRelEngine.java:700) at kd.bos.license.engine.LicenseUserRelEngine.getLicRelBitMapFromDbByGroupIds(LicenseUserRelEngine.java:655) at kd.bos.license.engine.LicenseUserRelEngine.rebuildCurrAccountLicRelBit(LicenseUserRelEngine.java:561) at kd.bos.license.engine.LicenseUserRelEngine.getLicRelBitFromCurrAccount(LicenseUserRelEngine.java:528) at kd.bos.license.engine.LicenseUserRelEngine.getLicRelBitFromAllAccount(LicenseUserRelEngine.java:199) at kd.bos.license.engine.LicenseUserRelEngine.getLicAllocateNumberByGroupIds(LicenseUserRelEngine.java:139) at kd.bos.license.formplugin.dataprovider.LicenseGroupConsumeProvider.getData(LicenseGroupConsumeProvider.java:179)
根据这个错误定位到了具体错误的代码处,并从中知道,我们获取的许可都是需要通过mc去获取的,
同时也定位到获取的url是错误的,排查到mc里面配置的服务地址与启动类的地址是不符合的
这个是在MC配置的地址,后缀带/mc
而启动参数配置的mc参数是不带mc的
所以在发生此类问题的时候要排查下是否是参数配错导致的。
推荐阅读