葡萄城报表提供有单点登录的URL,可供业务系统以Get和Post两种方式调用,以实现自动登录、直接跳转到报表系统门户网站的效果。
Get方式
以Get方式调用的单点登录URL为如下形式:
http://<报表服务器IP>:<端口>/explorersso.ashx?uid=用户名&pwd=密码
例如:
http://localhost:8080/explorersso.ashx?uid=admin&pwd=12345
这种Get调用形式以QueryString参数形式传递用户名和密码,适用于手机等移动设备上的集成,不适合最终用户可以看到URL的PC浏览器集成。
Post方式
以Post方式调用的单点登录URL为如下形式:
http://<报表服务器IP>:<端口>/explorersso.ashx
在业务系统的网页中Post到上述URL的HTML Form必须提供以下参数:
uid:用户名
pwd:密码
这种Post调用形式以HTML Form参数形式传递用户名和密码,适用于各种应用场景的集成。
下面是一个业务应用页面的示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>葡萄城报表集成</title>
<script stype=text/javascript>
function post(URL, PARAMS) {
var temp = document.createElement("form");
temp.action = URL;
temp.method = "post";
temp.style.display = "none";
for (var x in PARAMS) {
var opt = document.createElement("textarea");
opt.name = x;
opt.value = PARAMS[x];
temp.appendChild(opt);
}
document.body.appendChild(temp);
temp.submit();
return temp;
}
</script>
</head>
<body>
<div class="top">
这个示例展示业务系统与葡萄城报表集成的POST方式。<br/> <br/>
</div>
<br />
<input id="Button1" type="button" value="报表门户" onclick="return post('http://localhost:8080/explorersso.ashx', {uid:'admin',pwd:'12345'});" />
<br />
</body>
</html>
将上述代码复制到记事本或其他文本编辑器,修改uid和pwd参数的值为报表系统实际用户名和密码,再以UTF-8编码格式保存为一个HTML文件,用浏览器打开,您将看到下图所示的网页:
点击【报表门户】,您将不经登录,直接看到报表门户页面。