1. 场景
客户可以通过插件对正在登录系统的用户进行干预,是否允许用户登录;还可以在插件中实现对登录的用户特殊业务逻辑的处理。
2. 适用版本
金蝶云苍穹V3.0.001,及以上
3. 插件开发
插件继承kd.bos.login.after.LoginAfterBase,重写handling方法,根据业务要求实现具体代码逻辑,如需不允许用户继续登录,可通过抛出异常终止。
在MC系统配置租户级参数名login.after.handle.classes,值为:插件的全限定类名,示例:kd.bos.ext.cus.DemoLoginAfter。例如:通过判断当前用户的类型实现只允许职员登录系统等。
示例:
public class DemoLoginAfter extends LoginAfterBase {
@Override public void handling(HttpServletRequest request, SessionInfo sessionInfo) { //现场开发实现,可根据自己的业务需求编写业务逻辑代码,可通过抛出异常终止登录 //示例代码,仅供参考,请勿粘贴复制 if(!"1".equals(sessionInfo.getUserType())){//非职员 不允许进入系统 throw new KDException("非职员,不允许进入系统。"); } } } |
|
参数说明
参数 | 参数说明 |
request | 当前访问的HttpServletRequest对象 |
sessionInfo | 登录用户的信息 |
| userId | 用户id |
tenantId | 租户id |
userType | 用户类型 |
orgId | 组织id |
loginTime | 登录时间 |
loginIP | 登录IP |
language | 登录用户的使用语言 |
client | 用户使用客户端类型 |
accountId | 数据中心id |
gloableSessionId | 登录用户的sessionId |
bizPartnerId | 商务伙伴id |
userName | 用户名 |
备注:代码开发工程需要引用bos-login -1.0.jar
4. 插件配置步骤
1.在MC配置插件,登录MC系统。
2.进入租户参数配置界面,增加配置参数,key: login.after.handle.classes,value:插件全限定类名,例如:kd.bos.ext.cus.DemoLoginAfter。
3. 配置完成,发布集群即可。