1.需求背景
在一些大型的集团,AD域只是管理集团员工,而集团的外包团队其实是没有AD域账号的,那对于这些外包人员登录Smartbi,就需要通过白名单的设置来避开AD域的验证。审批信息推送到客户的企业微信,可以让客户打开对应的链接,进行审批操作(移动端审批)。
2.功能说明
企业微信可以接收Smartbi的审批信息,并点击推送的链接,可以在移动端进行审批处理。
使用该扩展包,可以给系统提供AD域的白名单设置,让在白名单的用户可以直接访问Smartbi。注:如果发送失败,可以通过计划任务重新发送
3.使用说明
依赖扩展包: windows域登录验证/AD域登录验证依赖扩展包:WeiXinEx
3.1. 扩展包部署
扩展包:PD_ADWhiteListApprovalPushWeChatExt
部署说明:扩展包部署
信息 |
---|
更新扩展包之前,请做好知识库以及扩展包的备份。 |
3.2.
...
使用流程
...
3.2.1 “流程管理”中设置
在“用户任务”节点,“监听器”的“任务侦听器”中,选择“create:Java类”,选择要发送的方式。当流程执行到该节点时,就会按照选择的方式推送到对应用户的企业微信中。
1)推送企业微信应用文本监听器:
smartbi.ext.ad.whitelist.auth.ExtADAuthentication】,AD域配置文件仍读取"ad.properties文件存放位置“,配置完成后 重启服务器,如下:
(2)管理员登录系统后,在【运维设置】- 【系统选项】 - 【用户管理】中,会增加【AD账号白名单】选项,可以把不需要AD域验证的 ”用户“,添加到 ”白名单用户列表“ 中,如下:
信息 |
---|
请清空浏览器的缓存。 |
(3)用户登录时,系统会先去判断输入的 ”用户“ 是否在 ”白名单用户列表“ 中,是的话就不走AD域登录认证,其它情况则走AD域登录认证。
4.数据字典
部署扩展包后,会在知识库中会增加一个物理表。
t_ext_ad_whiteinfo(AD白名单账号信息表)
...
c_id
...
varchar(255)
...
ID
...
c_type
...
varchar(255)
...
类型(用户USER、用户组GROUP、角色ROLE,所有用户EVERYONE)
...
c_is_descend
...
varchar(255)
...
是否应用于子孙组用户(只对用户组生效)
...
c_extend
...
longtext
...
approvalpushwechat.listener.PushWeChatTaskListener
2)推送企业微信应用文本链接监听器:
smartbi.ext.approvalpushwechat.listener.PushWeChatTaskUrlListener
3.2.2 企业微信中收到相关的审批信息
在客户的企业微信中,可以收到相关的审批信息。
3.2.3 进行审批操作
在客户的企业微信中,点击对应的链接,在移动端中就可以打开对应的审批界面,进行相关的审批。
信息 |
---|
注意:如果审批界面嵌入的报表资源很大,在移动查看起来可能不好用(如下图,有滚动条等),请知晓。 |
3.3.重发设置
为了避免发送失败后,用户无法接收到信息的情况,还可以通过“计划任务”的方式(需要客户自己建对应的“任务”和“计划”),重新发送。
代码块 | ||||
---|---|---|---|---|
| ||||
connector.remoteInvoke("ApprovalPushWeChatExtModule", "sendByFail", []); |