野鸭鸭

禅道PM系统解除用户ID最少3位的限制

之前在公司部署禅道PM系统的时候,发现公司原有ID有很多两位的,但是禅道系统用户ID限制最少要3位,无法与现有帐号系统进行整合,需要解除禅道系统的限制。

还不了解禅道项目管理系统的朋友可以通过禅道官网进行了解和学习哈。

http://www.zentao.net

没有接触过PHP,在禅道源代码里面找了很久,半猜半找,大致找到用户注册和修改功能的函数了。但是,里面的语法和调试,完全不知道为何物。后来,加了禅道技术支持的群,里面的回答大方向是正确的,但是对于我们新手不懂PHP的人来说,也是不清不楚,最终也是没有实现。

我怒了,老子像看我看的懂的代码,一行一行看,再不行,我一个关键词一个关键词地看。既然已经找到了注册和修改功能的函数,问题肯定在这个函数块里面,能够年得到解决。

后来发现,注册和修改的时候,验证码是调用一个正则表达式在进行。而且,这个正则表达式还有一个坑就是,里面的逻辑跟有一个专门的配置文件里面的用户ID限制正则表达式,是结合在一起的,单改这里还不行,根本的是在这个配置文件里面的用户ID限制正则表达式。

具体来说,就是图片中在禅道源码config文件夹中的zentaopms.php文件中,有一个accountRule的正则表达式,大概的意思是说用户ID必须是:第一位字母或数字,最后一位字母或数字,中间必须包含至少1位其他字符。

找到这个祸根,修改就方便了,我们最少需要两位ID,所以,将中间花括号里面的1改成0,变为第一位和最后一位必须有,中间可以0到无限多的字符就可以了。

里予甲鸟甲鸟

我有钱,我高大,我帅气,我还没睡醒!谁叫醒我,就打谁哦。

添加评论

联系

即刻M我/Q我