认证中心可以通过页面跳转登录或二维码扫描登录的方式接入联通4A进行登录操作,用户需要通过groovy脚本自定义编写如何通过返回的报文获取用户名的功能,以最终实现通过用户名登录系统的功能。
编写groovy脚本
groovy脚本的路径:war包根目录\WEB-INF\classes\plugins\customizeUnicom4A.groovy
customizeUnicom4A.groovy
默认内容如下
:::danger
请按照实际返回的用户信息获取用户名的逻辑编写groovy脚本
:::
import groovy.json.JsonSlurper
import 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 jsonInfo
userName = 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
注意
对应的参数替换成实际的值 :::登录说明
用户通过上述的登录地址,直接访问,登录成功后跳转的指定页面,失败后返回认证中心默认的登录地址