广州精点计算机科技有限公司
电话:020-38289851 传真:020-38258332
地址:广州市天河北路906号高科大厦A座701室
2.2Portal验证功能
通过综合应用平台(http://tiap.jy.gmcc.net)配置一个链接
(http://biee.jy.gmcc.net/login.do?method=login)到我们系统,注意我们系统的url必须要以gmcc.net结尾的域名。详情请查看《揭阳移动综合应用平台开发规范 v1.0.doc》。通过SSO接口获取到了登陆帐号之后修改biee的用户密码,然后用获取到的账号和自己修改的密码模拟登陆到Biee系统。 代码说明(J2EE)
//应用系统标识值,由综合应用平台管理员给出
String systemID = \
//接入综合应用平台的账号,由综合应用平台管理员给出
String sysAccount = \
//接入综合应用平台的密码,由综合应用平台管理员给出
String sysPassword = \
//从cookies中读取的加密内容
String sKey = \
第 11 页 共 13 页
广州精点计算机科技有限公司
电话:020-38289851 传真:020-38258332
地址:广州市天河北路906号高科大厦A座701室
String skey2 = \
A.从其他网站上连接过来的时候,必须用特定的网址访问,如
http://jybiee.gmcc.net:8080/login.do?method=login
系统自动搜索用户的cookies,如果gmcc.net域下边存在key为
\的cookie则表示其已经在综合应用平台系统中登录;如果gmcc.net域中存在key为\的cookie则表示其已经在统一信息平台系统中登录;系统将自动获取该用户的用户名登录biee。 String userId = null;
String sToken = null;
//获取综合平台的cookie 只能在同一个域下面才可以获取到cookie,gmcc.net;
//下边getUserAccount方法中,如果是验证综合应用平台系统的
cookie,则isgmccCookie的值为false,如果是验证统一信息平台的cookie,则值为true
ActionResult ar = soap.getUserAccount(systemID, sysAccount, sysPassword, false, sToken );
//判断是否验证,当AppAuth=0且ReturnValue=true时表示验证通过
if(ar.getAppAuth() == 0 && ar.isReturnValue()){
userId = ar.getReturnMessage();
Cookie cookies[] = request.getCookies(); if (cookies != null) { }
if (sToken != null) {
SSO locator = new SSOLocator(); SSOSoap soap = locator.getSSOSoap(); for (int i = 0; i < cookies.length; i++) { }
if (cookies[i].getName().equals(sKey)) { }
sToken = cookies[i].getValue(); break;
} else {
第 12 页 共 13 页
广州精点计算机科技有限公司
电话:020-38289851 传真:020-38258332
地址:广州市天河北路906号高科大厦A座701室
}
//出错信息处理
}
B.如果不是通过其他系统的连接进入统一平台,系统转入登录页面供用户登录。 SSO locator = new SSOLocator();
SSOSoap soap = locator.getSSOSoap();
LoginResult lr = soap.loginCheck2(systemID, sysAccount, sysPassword, loginId, password); }
//判断验证成功
if(lr.getAppAuth() == 0 && lr.getReturnValue == 0) {
//成功登录,进入统一平台
} else {
//登录失败
第 13 页 共 13 页