认证中心可以通过页面跳转登录或二维码扫描登录的方式接入联通4A进行登录操作,用户需要通过groovy脚本自定义编写如何通过返回的报文获取用户名的功能,以最终实现通过用户名登录系统的功能。
编写groovy脚本
groovy脚本的路径:war包根目录\WEB-INF\classes\plugins\customizeUnicom4A.groovy
customizeUnicom4A.groovy默认内容如下
:::danger
请按照实际返回的用户信息获取用户名的逻辑编写groovy脚本
:::
import groovy.json.JsonSlurperimport groovyx.net.http.HTTPBuilder/*** 根据用户sessionId获得用户名* @param sessionId* 用户sessionId*/def getUsername(sessionId){def userName = ''// 此处改成实际请求地址new HTTPBuilder('http://localhost:8086/servTest/esb/JT_EOMS.findUserBySessionID').get('query': ['sessionId': sessionId]) { resp, json ->if(resp.status == 200) {def result = ''json.eachLine { it -> result += it }def jsonInfo = new JsonSlurper().parseText(result)println jsonInfouserName = jsonInfo.get("user_name")println userName} else {println '响应错误&resp.status' + resp.status}}return userName}
说明
入参说明
-
出参说明
出参返回String类型,返回获取的用户名,如果未获取到用户名或获取用户名异常,返回
null:::danger 必须严格按照规范返回内容,否则会导致联通4A登录接入功能失效 :::其它说明
groovy脚本的目录必须是
war包根目录\WEB-INF\classes\plugins- groovy脚本名称必须是
customizeUnicom4A.groovy -
4A页面跳转登录
登录的地址
http://{ip}:{port}/{context-path}/login?globalUniqueID={sessionId}
{ip}:认证中心的ip地址
- {port}:认证中心的端口
- {context-path}:认证中心的部署包名
- {sessionId}:用户的sessionId
:::warning
注意
对应的参数替换成实际的值 :::登录说明
用户通过上述的登录地址,直接访问,登录成功后跳转的指定页面,失败后返回认证中心默认的登录地址
