关于单点登录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...
10. **扩展性与兼容性**:随着业务发展,可能需要支持更多的应用系统,或者与其他SSO系统互操作。设计时应考虑到扩展性和兼容性,如采用标准协议,提供API接口等。 以上是SSO单点登录在Java环境中的主要技术和知识...
SSO(Single Sign-On)是一种身份验证机制,允许用户在一个系统上登录后,无需再次输入凭证即可访问其他相互信任的系统。SSO 提高了用户体验,简化了安全管理,并减少了密码管理的复杂性。以下是对SSO简单实现的详细...
* SSO系统实现各个成员网站的无缝结合,只要会员经过了认证服务器的登录验证(Passport服务器),该会员访问其他任何网站时,都不需要再次登录。 * 会员在第一次登录时,Passport服务器验证身份之后,生成的Cookie...
### CAS-SSO系统架构详解:多系统单点登录的实现方案 #### 一、CAS与SSO概念解析 CAS,全称为Central Authentication Service(中央认证服务),是一种集中式身份验证解决方案,旨在统一管理和判断用户的权限。在...
在本文中,我们将探讨SSO的基本原理、实现方式以及一个简单的SSO系统的设计。 **SSO基本原理** SSO的核心是通过共享一种信任关系来实现跨系统的身份验证。这种信任通常由一个中央认证服务(CAS,Central ...
在本文中,我们将深入探讨如何使用SSM(Spring MVC、Spring、MyBatis)框架结合Redis缓存来实现SSO功能。 首先,了解SSO的核心原理是关键。SSO主要依赖于票据(Ticket)的概念,当用户成功登录到一个系统时,服务器...
Java Web SSO(Single Sign-On)实现是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需多次输入凭证。本教程将基于提供的博文链接进行讲解,但请注意,由于没有直接提供具体内容,这里会...
总的来说,SSO通过集成认证机制和使用cookie等技术,实现了用户在一个系统登录后,能够在其他系统中自动登录的效果,为企业信息化提供了便利和安全保障。然而,实施SSO时需充分考虑其带来的安全挑战,并采取适当措施...
单点登录(SSO)是一种常见的技术实现原理,在多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。实现单点登录说到底就是要解决如何产生和存储那个...
在Java环境中,实现SSO可以使用开源的SSO框架,如Spring Security或Apache Shiro。以下以Spring Security为例简述实现步骤: 1. **引入依赖**:在项目中添加Spring Security的依赖。 2. **配置SSO**:在Spring ...
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在多个相互关联的应用系统中只需要登录一次,即可访问所有系统,而无需再次输入凭证。这种技术在现代企业环境中非常常见,因为它提供了便捷的用户体验并...
单点登录系统(Single Sign-On,SSO)是一种网络身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在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/
.NET下的单点登录(Single Sign-On,简称SSO)是一种让用户在多个应用系统间自由切换,只需要一次登录验证的身份管理技术。它提升了用户体验,减少了密码管理的复杂性,尤其适用于企业内部或拥有多个子系统的环境。...
SSO的实施不仅要考虑其功能性和便利性,还必须注重安全性。为此,采用组来管理SSO管理员和应用程序定义账户可以更灵活地控制权限分配,同时也增强了安全性。此外,定期审查和更新账户权限,以及对SSO服务的日志进行...
单点登录系统(Single Sign-On,简称SSO)是一种网络...综上所述,SSO技术通过统一的认证机制,实现了跨系统的一站式登录体验,但在实际应用中需要谨慎处理安全性和复杂性问题,以确保用户数据的安全和系统的稳定性。