表单修改权限问题
版本:6.2.0表单流转后,拟稿人可以对表单进行直接修改保存。通过已办打开,表单在可编辑状态,并且操作中有保存、调度、重置处理人按钮。正常表单无这三个按钮,且表单是在浏览状态,无编辑框。
但是不是所有表单都这样,表单设置都是一样的。不清楚是那里问题?麻烦管理员帮忙诊断一下,谢谢! 升级6.2.1后问题仍然存在。 保存、调度、重置 应该是您登陆的人估计是管理员的问题。
请用普通用户登录 我检查了设置,并没有管理员权限。同账号,部分流程这样,部分流程不这样! 我用eclipse远程调试了下,
发现在ActionGetWorkOrWorkCompleted.java中的方法有不同:
private CompletableFuture<Wo> getFuture(EffectivePerson effectivePerson, String workOrWorkCompleted) {
return CompletableFuture.supplyAsync(() -> {
Wo wo = null;
try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
Business business = new Business(emc);
Work work = emc.find(workOrWorkCompleted, Work.class);
if (null != work) {
wo = this.work(business, effectivePerson, work);
} else {
WorkCompleted workCompleted = emc.flag(workOrWorkCompleted, WorkCompleted.class);
if (null != workCompleted) {
wo = this.workCompleted(business, effectivePerson, workCompleted);
}
}
} catch (Exception e) {
logger.error(e);
}
return wo;
});
}
正常流程:workOrWorkCompleted在表pp_c_work中没有记录,此时没有保存、调度、重置按钮。
问题流程:workOrWorkCompleted在表pp_c_work中有记录,有保存、调度、重置按钮。 进一步调试发现问题了。
在business判断是否有应用或流程管理权限时,方法canManageApplicationOrProcess
effectivePerson中的unique不等于org_person中的xunique,如何来的不详。
我们oa是直接同步企业微信的帐号的,unique大部分帐号跟邮箱帐号是一致的。
distinguishedName中也包含这个唯一名,即姓名@帐号@P,即姓名@帐号前缀@帐号域名@P,
因@分隔符与邮箱@一致,我怀疑是那里处理effectivePerson.unique的时候的问题。effectivePerson.unique=帐号域名 果然,effectivePerson.unique是通过正则表达式去匹配的@与P之间的字符串,导致xunique是邮箱帐号时,只能截取到域名,在其他地方需要判断的时候会出错。因为任何帐号都包含域名,所以只要有管理员就会认为任何人都是管理员。这也是上面问题的原因了,因为有些applicaiton中设置了管理员,有些没有。 经测试:unique为“姓名@帐号前缀@帐号域名@P”的形式时,
EffectivePerson.name = 姓名@帐号前缀
EffectivePerson.unique = 帐号域名
类似的还不少,
com.x.base.core.project.organization.OrganizationDefinition
com.x.organization.assemble.express.AbstractFactory
com.x.organization.core.entity.PersistenceProperties
我先简单处理了,
Pattern pattern = Pattern.compile("^(\\S[^\\@]+)\\@(\\S+)\\@P$");
因涉及面很广,等待官方修复~! 表单流转后,拟稿人可以对表单进行直接修改保存
如果拟稿人没有权限(不是管理员),理论上没有权限修改!
我这边测试一直无法直接修改!
--------------------------------------------------------------------
ps:您的账号都是微信直接同步的是吧。 您是否可以截图用户 一张,一个很多@的用户,测试也是正常的。
https://www.o2oa.net:443/x_file_assemble_control/jaxrs/file/1c7a08ad-d894-4a8a-afee-a9f633f00e8d/download/stream
页:
[1]
2