`
njmnjx
  • 浏览: 232199 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

单点登录两种实现方案

阅读更多
说是两种其内在实质还是一个思路。
一种是使用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
  • 大小: 39.5 KB
分享到:
评论

相关推荐

    基于SpringBoot实现单点登录的两种方式

    基于SpringBoot实现单点登录的两种方式,第一种(Session):SpringBoot+SpringSession+Redis;第二种基于(Session+Cookie):SpringBoot+Redis(redis集群+池化:一致性Hash分片算法) 实现单点登陆

    一种基于PKI的Web单点登录方案

    本文提出了一种基于PKI的Web单点登录方案,用户可以安全有效的实现"一次登录,自由切换"。给出了方案的总体模型,详细地分析了登录流程。采用双向认证,保证用户和认证服务器的合法身份。使用两级授权机制和SSO代理,...

    NC5系列Portal单点登录及系统集成红皮书

    NC-Portal的单点登录方案,就是SSO技术的一种实现方式。 NC-Portal的SSO方案是基于凭证的思想设计。对于NC-Portal集成的每个第三方系统都有一个制作凭证的页面,该页面用于当前登录的portal用户输入对应的第三方...

    SSO CAS 单点登录实例SSOAuth+SSOWebDemo1+SSOWebDemo2.zip

    单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 较大的企业内部,一般都有很多的...

    单层膜ITO实现多点触摸的设计方案

    通过详细分析电容式触摸屏的结构以及电极设计,为...实际验证结果表明,在单手指触摸和两根手指触摸的情况下,所设计的触摸屏能够准确报出坐标点。所提出的方案为低成本电容式触摸屏提供了一种简单的设计思路及方法。

    轻量级 Java 权限认证框架让鉴权变得简单优雅

    一个轻量级 Java 权限认证...分布式会话 —— 提供jwt集成、共享数据中心两种分布式会话方案。微服务网关鉴权 —— 适配Gateway、ShenYu、Zuul等常见网关的路由拦截认证。单点登录 —— 内置三种单点登录模式:无论是否

    ActiveMQ部署方案分析对比

    单点的ActiveMQ作为企业应用无法满足高可用和集群的需求,所以ActiveMQ提供 了master-slave、broker cluster等多种部署方式,但通过分析多种部署方式之后我认为需要将两种部署方式相结合才能满足我们公司分布式和高...

    单点开源CRM(集成环境一键安装包) 20130327.zip

    单点开源免费CRM系统是单点科技开发的,基于GPLv3协议发行,针对中小企业管理活动,提供客户关系管理员(CRM),进销存(JXC),人力资源(HRM),后勤(办公用品,固定资产,公物维修)、物业管理等功能,软件开源免费,争取...

    一个完整的方案如何设计.doc

    其中方案的标题可分为全称式和 简明式两种,而又以全称式居多。凡由单位、事由、文种三要素构成的为全称式;由事 由、文种二要素构成的为简明式.署名落款:方案既无须在标题中标明时间,又不完全是 将生成时间放在文...

    物联网总体方案设计.pptx

    智能家居设备有无线和有线两种通信方式,无线方式以其便捷性、移动性和扩展性好的特点,适合旧房的智能化改造。有线方式相对于无线而言,具有稳定性好、建设成本低的特点,适合新建住宅的设计。 子系统规划。首先,...

    光纤布线方案设计.doc

    "建筑物主干"1500 "3.6 "3.6 "7.4 "3.6 " 由以上图表可以看出,两种规定差别不大,都是非常严格的。因而光纤作为主干布线 的最长距离也有了规定。光缆应用于主干时,每个楼层配线间至少要用6芯光缆,高级应 用最好能...

    JEECMS 2.3.1 Beta 系统程序

    轻松建设大规模网站,可通过次级域名建立子站群,各子站后台管理权限分离,全站实现单点登录 JEECMS v2.3.1版于2009年3月23日发布,这是JEECMS自发布以来首次发布的小版本,也可以说是RC版,主要是修正v2.3版中...

    无线网设计方案.doc

    无线局域网的组网模式大致上可以分为两种,一种是Ad-hoc模式,即点对点无线网 络;另一种是Infrastructure模式,即集中控制式网络。 二、对建成的网络系统的基本要求 1.采用先进成熟技术,保证系统性能稳定可靠、...

    有限温度下的保形引导

    我们启动了一种方法,该方法使用保形自举程序启发的方法在有限温度下约束保形场理论(CFT)数据,以实现真空相关函数。 我们专注于平面上本地运营商的热一点和两点函数。 热两点函数的KMS条件被转换为交叉方程。 ...

    VC++通用GIS功能开发解决方案

    # “放大”和“缩小”都同时采用两种方式:定点缩放和拉框缩放!拉框缩放采用了光栅绘图模式,效果自然漂亮! 3、九大GIS分析功能(基于DEM) #量算多点距离#计算线段最大坡度#计算区域面积#计算区域高程#两点通...

    多点控制单元MCU的性能测试

    该方法具体需求有两个,一是要实现一个符合H.323协议的软件 终端,并且其配置参数可以根据测试内容的需要进行设置;二是要探 索如何将所实现的软件终端与主流性能测试工具LoadRunner相集成 来完成对MCU的性能测试。...

    数据库设计方案.docx

    此项目中矢量数据主要为点、线、面形状矢量数据以及不同种类业务的矢量数据,合理的分层便于进行叠加分析、图形的无逢拼接以实现系统图形的大范围漫游。矢量数据一般通过记录坐标的方式来尽可能将地理实体的空间位置...

    方案设计和初步设计.docx

     无论是建筑计划仍是景观设计,在研究完场地特性后,方案设计的方向无非就两个选择: 一、若是场地是一块没有任何特点的平地,那设计师就要依据项目,创建设计的主题; 二、若是场地本身就有必然特点,例如是山地...

Global site tag (gtag.js) - Google Analytics