如果这个流程应用设置了管理员才会,没有设置应用管理员不会。
比如流程应用设置了管理员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永远都是真。 您好:确实存在您说的问题。
会提交到技术部门,不过个人估计最终可能解决方案是唯一编码不能含有@
具体解决方式有技术部门定夺。技术部门会根据轻重缓急是否必要处理问题! 是啊,貌似不着急。
@可以用,就是要改下正则怎么匹配到第一个@和最后一个@之间的,我对正则也是一知半解,没试出来。 public final static Pattern person_distinguishedName_pattern = Pattern.compile("^(.+)\\@(\\S+)\\@P$");
(.+)其中+号表示贪婪,考虑的是用户如果使用邮箱地址作为自己的用户名.
去掉+可以匹配到前面短的@但是用户就无法用邮箱作为自己的用户名.
建议使用不包含@的字符串作为unique,如果一定要在unqiue中使用@可以自行修改
com.x.base.core.project.organization.OrganizationDefinition中的正则表达式,
考虑到有用户使用邮箱作为用户名,所以不会在后续版本中修改这里的判断逻辑. public final static Pattern person_distinguishedName_pattern = Pattern.compile("^(.+)\\@(\\S+)\\@P$");
(.+)其中+号表示贪婪,考虑的是用户如果使用邮箱地址作为自己的用户名.
去掉+可以匹配到前面短的@但是用户就无法用邮箱作为自己的用户名.
建议使用不包含@的字符串作为unique,如果一定要在unqiue中使用@可以自行修改
com.x.base.core.project.organization.OrganizationDefinition中的正则表达式,
考虑到有用户使用邮箱作为用户名,所以不会在后续版本中修改这里的判断逻辑.
页:
1
[2]