# 免登录查看
正常情况下流程表单的查看页、打印页以及导出功能都需要用户鉴权,当用户对流程实例有管理查看权限时候才可以查看(打印、导出)。
在某些情况下,流程的数据需要在不鉴权的情况下也能查看(打印、导出),比如在一些Mis系统中查看流程表单数据,而查看人并非流程的管理员。
平台提供了免登录查看功能,在url中提供viewToken的情况下,可以跳过鉴权步骤,直接查看流程表单数据。viewToken每个流程实例不同,在流程发起时由流程平台随机产生,建议业务系统通过Messenger在其自身数据库中记录保存。
# 访问路径
# 永久有效地址
渲染页:https://form.sjtu.edu.cn/infoplus/form/{id}/render/{viewToken}
打印页:https://form.sjtu.edu.cn/infoplus/form/{id}/print/{viewToken}
导出: https://form.sjtu.edu.cn/infoplus/form/{id}/{viewToken}/export.{format}
# 指定时间内有效的地址
渲染页:https://form.sjtu.edu.cn/infoplus/form/{id}/render/{hash}?expire={timestamp}
打印页:https://form.sjtu.edu.cn/infoplus/form/{id}/print/{hash}?expire={timestamp}
导出: https://form.sjtu.edu.cn/infoplus/form/{id}/{hash}/export.{format}?expire={timestamp}
# 参数说明
id可以是e{流水号},也可以是GUID形式的流程实例id
viewToken就是免登录查看的token
timestamp为地址有效期结束时间,以秒为单位的unix时间戳
hash为md5(流程实例id|viewToken|timestamp),其中流程实例id为路径中的id
# Token获取
# messenger中获取
在messenger中可以通过InfoPlusEvent对象来获取token,获取后可以记录在业务系统数据库中。
@Override
public InfoPlusResponse onInstanceStarting(InfoPlusEvent e) {
String token = e.getStep().getInstance().getToken();
...
}
2
3
4
5
# 绑定库中获取
可以通过绑定库中的META_ENTRY表获取指定流水号的token,流水号在_entry字段中,viewToken在_token字段中
← 父子流程