关于单点登录SSO系统是否可以通过IP地址来实现呢?
具体思路是:因为不管是internte还是intranet中每个机子的IP应该都具有其唯一性的特点。那么在多个子系统同时使用一个登录点系统时,我们是不是可以将其登录的IP信息放在SSO系统中某一记录文件或数据中,然后子系统中添加过滤器。使用httpclient发送请求来验证登录情况。如果本方案可行的话,由于没有使用cookies,也就不存在所谓的跨域问题。
我自己做了个测试,情况如下:
一个SSO系统 www.ipsso.com
两个测试子系统 www.nodeone.com和www.nodetwo.com
两个子系统中分别使用了过滤器在需要登录的页面进行过滤,而SSO系统主要是取得子系统发送来的IP地址去服务器的记录文件中查询本IP的登录信息。本系统使用了properties类型文件,那么如果IP地址对应值为空或“logout”的话,表示没有登录,这时就跳转到登录页面进行登录。如果有用户信息时就直接返回用户信息。从而实现了单点登录过程。
我在本机做了测试,修改了TOMCAT的端口为80,然后添加两个虚拟目录:
<Host name="www.ipsso.com" appBase="webapps/IPSSO"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" debug="0" reloadable="false"/>
</Host>
<Host name="www.nodeone.com" appBase="webapps/nodeOne"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" debug="0" reloadable="false"/>
</Host>
<Host name="www.nodeTwo.com" appBase="webapps/nodeTwo"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" debug="0" reloadable="false"/>
</Host>
另外修改了hosts文件添加了域名:
127.0.0.1 www.ipsso.com
127.0.0.1 www.nodeone.com
127.0.0.1 www.nodetwo.com
通过上面的配置,我在本机测试实现了单点登录的操作。为了验证。我只采取了最简单的实现,如果本方案可行的话,就可以很方便的添加关于安全方面的验证。
由于小弟水平有限,不确定这个思路有什么缺陷,还望高手指点指点。
分享到:
相关推荐
根据提供的文件名,我们可以推测这是一个基于Java实现的SSO系统,可能包含了以下部分: - **ssoserver.crt**:可能是一个SSL证书,用于加密和验证服务器的身份,确保通信的安全性。 - **ssoserver.keystore**:Java...
SSO(Single Sign-On)是一种身份验证机制,允许用户在一个系统上登录后,无需再次输入凭证即可访问其他相互信任的系统。SSO 提高了用户体验,简化了安全管理,并减少了密码管理的复杂性。以下是对SSO简单实现的详细...
* SSO系统实现各个成员网站的无缝结合,只要会员经过了认证服务器的登录验证(Passport服务器),该会员访问其他任何网站时,都不需要再次登录。 * 会员在第一次登录时,Passport服务器验证身份之后,生成的Cookie...
Java Web SSO(Single Sign-On)实现是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需多次输入凭证。本教程将基于提供的博文链接进行讲解,但请注意,由于没有直接提供具体内容,这里会...
单点登录(SSO)是一种常见的技术实现原理,在多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。实现单点登录说到底就是要解决如何产生和存储那个...
在Java环境中,实现SSO可以使用开源的SSO框架,如Spring Security或Apache Shiro。以下以Spring Security为例简述实现步骤: 1. **引入依赖**:在项目中添加Spring Security的依赖。 2. **配置SSO**:在Spring ...
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在多个相互关联的应用系统中只需要登录一次,即可访问所有系统,而无需再次输入凭证。这种技术在现代企业环境中非常常见,因为它提供了便捷的用户体验并...
在本文中,我们将深入探讨如何使用SSM(Spring MVC、Spring、MyBatis)框架结合Redis缓存来实现SSO功能。 首先,了解SSO的核心原理是关键。SSO主要依赖于票据(Ticket)的概念,当用户成功登录到一个系统时,服务器...
SSO-agent1可能是实现SSO的一个代理或插件,它可能用于与CAS服务器通信,处理登录验证和票据交换的过程。这种代理通常会配置在各个应用服务器上,以便它们能够与CAS进行交互。 在实际应用中,我们可以使用开源的SSO...
单点登录系统(Single Sign-On,SSO)是一种网络身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在SSO系统中,用户只需要记住一套登录凭据,提高了用户体验,同时减少了密码...
.NET下的单点登录(Single Sign-On,简称SSO)是一种让用户在多个应用系统间自由切换,只需要一次登录验证的身份管理技术。它提升了用户体验,减少了密码管理的复杂性,尤其适用于企业内部或拥有多个子系统的环境。...
spring boot整合spring security 实现SSO单点登陆 完整DEMO. ...2、先后启动SsoServer、sso-resource、sso-client1、sso-client2 3、访问http://sso-taobao:8083/client1/ 或 http://sso-tmall:8084/client2/
单点登录系统(Single Sign-On,简称SSO)是一种网络...综上所述,SSO技术通过统一的认证机制,实现了跨系统的一站式登录体验,但在实际应用中需要谨慎处理安全性和复杂性问题,以确保用户数据的安全和系统的稳定性。
CAS框架SSO的实现
- 可扩展性:设计时考虑SSO系统未来可能接入更多应用的需求。 总之,"sso-test01"项目提供了基于Redis或MySQL实现的SSO解决方案,涉及的身份验证、Ticket管理、客户端配置等多个环节,对于理解和实践SSO技术具有...
Java EE和Domino系统间跨域SSO的实现
在这个基于Spring Boot、Mybatis和Redis的SSO单点登录系统demo中,我们可以深入理解如何将这些技术集成以实现高效的身份验证管理。 首先,Spring Boot是一个用于简化Spring应用初始搭建以及开发过程的框架,它内置...
SSO(Single Sign-On)单点登录是一种网络应用的认证技术,它允许用户在一个系统或应用中...通过深入研究这些源码,你可以更深入地了解SSO的实现细节,这对于构建自己的SSO系统或者优化现有系统的SSO功能非常有帮助。