单点登陆
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