mikingwang 发表于 2021-7-23 14:58:19

是的,直接微信同步的。企业微信里面的唯一值是可以自己设置一次的,好多帐号都设置成了邮箱。
如果这个流程应用设置了管理员才会,没有设置应用管理员不会。
比如流程应用设置了管理员A,A的唯一unique =a@o2oa.net
B申请流程应用里面的申请提交再查看该流程,就会把B也判断称管理员。b的unique = b@o2oa.net,distinguishedName = B@b@o2oa.net@P
我跟踪是走到business.canManageApplicationOrProcess的effectivePerson.isPerson(application.getControllerList())
这里验证isPerson时,正则匹配导致的。
写个main就测试出来了呀。
effectivePerson中,B@b@o2oa.net@P解析出来name=B@b,unique=o2oa.net
因所有帐号解析出来都是o2oa.net,与管理员的名字contains永远都是真。

论坛管理员 发表于 2021-7-23 15:21:03

您好:确实存在您说的问题。
会提交到技术部门,不过个人估计最终可能解决方案是唯一编码不能含有@

具体解决方式有技术部门定夺。技术部门会根据轻重缓急是否必要处理问题!

mikingwang 发表于 2021-7-28 16:44:43

是啊,貌似不着急。
@可以用,就是要改下正则怎么匹配到第一个@和最后一个@之间的,我对正则也是一知半解,没试出来。

Ray 发表于 2021-7-28 21:18:17

public final static Pattern person_distinguishedName_pattern = Pattern.compile("^(.+)\\@(\\S+)\\@P$");
(.+)其中+号表示贪婪,考虑的是用户如果使用邮箱地址作为自己的用户名.
去掉+可以匹配到前面短的@但是用户就无法用邮箱作为自己的用户名.
建议使用不包含@的字符串作为unique,如果一定要在unqiue中使用@可以自行修改
com.x.base.core.project.organization.OrganizationDefinition中的正则表达式,
考虑到有用户使用邮箱作为用户名,所以不会在后续版本中修改这里的判断逻辑.

论坛管理员 发表于 2021-7-29 09:52:00

public final static Pattern person_distinguishedName_pattern = Pattern.compile("^(.+)\\@(\\S+)\\@P$");
(.+)其中+号表示贪婪,考虑的是用户如果使用邮箱地址作为自己的用户名.
去掉+可以匹配到前面短的@但是用户就无法用邮箱作为自己的用户名.
建议使用不包含@的字符串作为unique,如果一定要在unqiue中使用@可以自行修改
com.x.base.core.project.organization.OrganizationDefinition中的正则表达式,
考虑到有用户使用邮箱作为用户名,所以不会在后续版本中修改这里的判断逻辑.
页: 1 [2]
查看完整版本: 表单修改权限问题