Cfttoken是怎么生成的,本地用的自研的统一登录,jwt登录,获取项目信息时报检测到用户创建途径异常,禁止登录!


hu获取项目信息时,检验登录cfttoken失败,没有找到生成cftoken的方法,

怎么样解决了吗 我也遇到了

设置一下 https://github.com/metersphere/metersphere/issues/33096

感谢你的截图,让我定位到生成cft_token的关键位置。
其实就是从截图中的:CFTEncryptUtils.hasDecrypt 位置,代码跳转到CFTEncryptUtils这个类中。
然后从hasDecrypt方法,

public static boolean hasDecrypt(Object a, String a) {
        if ((a = a) == null) {
            return false;
        } else {
            try {
                String var2 = aesDecrypt(a.toString(), CFTTaskItemService.ALLATORIxDEMO(CFTTaskItemService.g("\u000f&<(#$:/&$)\";e52")), CFTTaskItemService.ALLATORIxDEMO(CFTLicenseService.g("+C)G-E+C)A'O/G-E")));
                return StringUtils.equals(a, var2);
            } catch (Exception var3) {
                return false;
            }
        }
    }

发现cft_token的判定是用user.id,调用aesDecrypt方法的返回值进行equal判定。

这样就很清晰了,二开的时候,同样需要将新注册用户cft_token的值,设置为调用上述方法的返回内容。

亲测可用

您好,具体怎么改动能指导下吗?

已解决,用户注册模块需要二开,需要meterspher的engine包

感谢大神的帖子。 我二开的时候,也发现了我自己实现了UserXpackService, 然后发现登录成功,访问其他接口的时候,抛出异常。