单点登陆
1.ajax单点登陆
第三方系统(.NET、.PHP等)与anyreport集成,使用单点登陆共享用户信息,登陆AnyReport平台,可在第三方系统登陆页面加入ajax登陆anyreport代码,如OA、ERP登陆页面
ajax异步登陆
ajax跨域单点登陆,ajax异步登陆验证可以获取返回信息,并对返回值进行处理
返回值: 0=成功, 其它=失败
<head><script type="text/javascript" src="jquery-1.11.3.min.js"></script><script type="text/javascript" src="md5.min.js"></script></head><body><div><input id="userName" type="userName" style="width:200px;"><br/><input id="password" type="password" style="width:200px;"><br/><input type="button" style="test" onclick="doLogin()"></div><iframe id="rptframe" width="80%" height="100%" style="margin-left:180px;"></iframe><script type="text/javascript">function doRptLogin() {var userName = $("#userName").val();//密码为前台js加密之后密码,更加安全, 平台采用md5加密方法var password = $("#password").val();$.ajax({url: "http://localhost:9905/dmp/index/sso.htm",data:{userName:userName, password:md5(password), accessAll:true},dataType: "jsonp",jsonp: "callback",success: function(code){if(code == 0) {alert("success");//success} else {//error}},error: function(){//error}});}</script></body>
用户验证
验证用户信息默认是使用AnyReport用户信息验证, 并支持HTTP方式验证
详细请见:登陆验证
2.ajax退出登陆
第三方系统用户退出的时候,同时anyreport系统也需要做用户session清除
ajax异步退出
异步退出报表系统登陆,访问地址:/index/sso/logout.htm
function doLogout() {$.ajax({url: "http://192.168.0.101:9905/dmp/index/sso/logout.htm",dataType: "jsonp"});}
3.跨域单点登陆
跨域单点登录是指两个系统域名或ip地址完全不相同之间的单点登录,即AnyReport系统与第三方系统部署的域名或IP地址不一样,第三方系统登录同时访问AnyReport系统做登录
获取用户认证凭据ticket
第三方系统根据用户名与密码(MD5加密之后的密码)访问AnyReport接口获取ticket, dmp为项目名称,如果没有项目名去除
接口URL:http://localhost:9905/dmp/index/ssoc.htm?userName=xx&password=xx
通过ajax 调用接口获取ticket
通过ajax异步跨域方式访问接口,返回ticket,如果ticket=error,表示登录失败,其它则为成功
```javascript$.ajax({url: "http://localhost:9905/dmp/index/ssoc.htm",data:{userName:"demo", password:md5(xx)},dataType: "jsonp",jsonp: "callback",success: function(ticket){if(ticket="error") {//error} else {}},error: function(){//error}});```
通过Restful调用接口获取ticket
第三方系统后台程序通过httpclient或是restful 调用接口获取ticket,如果ticket=error,表示登录失败,其它则为成功
接口URL:http://localhost:9905/dmp/index/ssoc.htm?userName=demo&password=xx
通过获取的ticket访问AnyReport系统
将调用接口获取的ticket,作为访问AnyReport系统主页的URL参数,访问AnyReport系统主页URL:http://localhost:9905/dmp/index/page.htm?ticket=xx