说是两种其内在实质还是一个思路。
一种是使用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实现单点登录的两种方式,第一种(Session):SpringBoot+SpringSession+Redis;第二种基于(Session+Cookie):SpringBoot+Redis(redis集群+池化:一致性Hash分片算法) 实现单点登陆
该压缩包文件"单点登录跨域iframe互相通信方案.zip"提供了一种解决方案,可能包含以下关键知识点: 1. **OAuth 2.0或SAML协议**:单点登录通常基于OAuth 2.0或Security Assertion Markup Language (SAML)等标准协议...
在本主题中,我们将深入探讨如何构建和实现基于CAS(Central Authentication Service)的单点登录解决方案。 CAS是一个开源的SSO框架,它提供了安全的身份验证服务,使得用户只需一次登录即可访问多个应用。其核心...
综上所述,单点登录和统一身份认证方案是现代企业IT架构中重要的安全组件,它们结合SAML、集中式授权和硬件令牌等技术,实现了高效且安全的用户身份验证和资源访问控制。实施这样的方案,不仅可以提升用户满意度,还...
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。这个过程提高了用户体验,同时也简化了安全管理。在本文中,我们将探讨SSO的基本原理...
JEECG智能开发平台的单点登录(SSO)功能是通过集成Kisso实现的,Kisso是一个轻量级Java权限框架,它利用加密会话cookie机制来实现单点登录服务。单点登录是一种用户登录认证方法,允许用户在多个应用系统中,只通过...
NC5系列单点登录方案旨在实现多个系统的无缝对接,使用户仅需一次登录即可访问所有授权的系统,如用友NC系统、OA系统等。该方案的核心在于通过一个中心化的认证系统,将用户的登录凭证分发至各个目标系统,从而避免...
### 单点登录设计方案研究 #### 一、编写目的 随着企业规模的不断扩大和技术的快速发展,各类业务系统逐渐增多,员工需要频繁地在不同的系统之间切换。传统的登录方式要求用户在每个系统中单独进行身份验证,这...
单点登录(SSO)是一种常见的技术实现原理,在多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。实现单点登录说到底就是要解决如何产生和存储那个...
"CAS实现sso单点登录原理" CAS(Central Authentication Service)是Yale大学发起的一个企业级的、开源的...CAS实现sso单点登录原理为企业业务整合提供了一种可靠的解决方案,满足了企业对安全、可靠、灵活的需求。
单点登录(Single Sign-On,简称SSO)是一种在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的技术。它简化了用户管理和提高了用户体验,尤其在企业级环境中,用户无需记住多个系统的用户名...
单点登录(Single Sign-On,SSO)是一种身份验证机制,允许用户在多个相互关联的应用系统中登录一次,然后在整个会话期间无需再次输入凭证即可访问这些系统。在本文中,我们将探讨如何利用Iframe和Cookie技术来实现...
### 单点登录(SSO)的解决方案大全 随着企业业务规模的不断扩大和技术架构的日益复杂,单点登录(Single Sign-On,简称SSO)已成为提高用户体验、简化管理流程的重要手段之一。本文将针对不同场景下的SSO实现方式...
本资源提供的"单点登录实现demo及说明.zip"包含了一个单点登录的实现示例和相关说明,方便开发者学习和参考。 一、单点登录原理 单点登录的核心在于共享认证信息。当用户在某个应用系统中登录后,系统会生成一个...
JEECG单点登录集成文档(kisso集成)详细介绍了如何将Kisso单点登录解决方案集成到JEECG智能开发平台v3版本中。文档中提到了Kisso的基本概念和实现单点登录(SSO)的技术细节,具体包括服务端和客户端的集成步骤以及...
本文着重介绍了两种实现方式:基于Cookie机制的单点登录和基于安全断言标记语言(Security Assertion Markup Language,简称SAML)的单点登录。 基于Cookie的单点登录技术是一种基于HTTP重定向和票据的集中式认证...
下面将详细探讨单点登录的工作原理、常见技术方案以及涉及的代码实现。 一、SSO工作原理 SSO的核心是共享一个中心化的认证服务器,这个服务器负责验证用户的登录凭证,并向其他系统提供认证信息。当用户首次登录...
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。在本文中,我们将深入探讨如何使用SSM(Spring MVC、Spring、MyBatis)框架结合Redis...
CAS(Central Authentication Service)是耶鲁大学开发的一种开源单点登录系统,使用Cookie机制实现SSO。CAS可以将多个应用系统集中到一起,实现统一的用户认证和权限管理。 在企业信息化过程中,单点登录可以解决...
单点登录(Single Sign-On,简称SSO)是一种网络身份验证机制,允许用户在一个系统上登录后,无需再次认证即可访问多个相互关联的系统。在.NET框架中,我们可以利用C#语言来实现这一功能,特别是在跨域名和跨服务器...