首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

单点登录两种实现议案

2013-11-03 
单点登录两种实现方案说是两种其内在实质还是一个思路。一种是使用js,另一种是使用iframe。说一下总体思路:

单点登录两种实现方案
说是两种其内在实质还是一个思路。
一种是使用js,另一种是使用iframe。

说一下总体思路:
从主站开始吧,在登录验证完成后,不是马上跳转。这里要向页面中输出一段内容。可以是js,也可以是iframe。
1、js的话形如

<script type='text/javascript' src='http://njm2.com/Cross.aspx?参数'></script><script type='text/javascript' src='http://njm3.com/Cross.aspx?参数'></script><script type='text/javascript'>toIndex('" + returnUrl + "');</script>

前两个是去其它域名下去登录。第三行是跳转。

2、iframe形如
<iframe style='display:none;' id='njm2' src=''></iframe><iframe style='display:none;' id='njm3' src=''></iframe><input type='hidden' id='sso_ids' value='njm2,njm3'/><input type='hidden' id='njm2_src' value='http://njm2.com/Cross_Iframe.aspx?参数'/><input type='hidden' id='njm3_src' value='http://njm2.com/Cross_Iframe.aspx?参数'/>

ClientScript.RegisterStartupScript(this.GetType(), "toUrl", "navUrl.toUrl('" + returnUrl + "');", true);

前两个是去其它域名下去登录;第三个是两个iframe的id,第四、五个是对应前两个iframe的src地址。第六个是跳转。
页面上还要再放一段js代码
<script type="text/javascript>    var navUrl = {        calcVal: 0,        toUrl: function(url) {            var hidids = document.getElementById("sso_ids").value;            var frameArr = hidids.split(',');            var frameLength = frameArr.length;            navUrl.calcVal = frameLength;            for (var i = 0; i < frameLength; i++) {                var iframe = document.getElementById(frameArr[i]);                iframe.src = document.getElementById(frameArr[i]+"_src").value;                if (iframe.attachEvent) {                    iframe.attachEvent("onload", function() {                        navUrl.execToUrl(url);                    });                } else {                    iframe.onload = function() {                        navUrl.execToUrl(url);                    };                }            }        },        execToUrl: function(url) {            navUrl.calcVal -= 1;            if (navUrl.calcVal <= 0) {                location.href = url;            }        }    }</script>


3、区别通过图说明


4、Demo附件[解压密码:我的iteye域名]
sso_单点登录.rar

热点排行