`
huraky
  • 浏览: 31707 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

讨论:关于使用IP地址的SSO系统的实现可能性

    博客分类:
  • JAVA
阅读更多

  关于单点登录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

 

通过上面的配置,我在本机测试实现了单点登录的操作。为了验证。我只采取了最简单的实现,如果本方案可行的话,就可以很方便的添加关于安全方面的验证。

 

   由于小弟水平有限,不确定这个思路有什么缺陷,还望高手指点指点。

 

 

 

分享到:
评论
5 楼 huraky 2009-02-23  
如果局域网中的用户都是通过同一个代理上网的话。是不是就不好区分到底是哪台机子的用户登录了呢?
4 楼 cdredfox 2009-02-23  
ghost319 写道
如果是在局域网中,大家使用一个出口IP,你该怎么判断呢?

可以从http消息头中取得该机在局域网中的地址。
3 楼 huraky 2009-02-23  

呵呵。考虑还是不周到,使用一个IP出口时确实不好判断到底是局域网中的哪台机子!
本方案宣布失败!
2 楼 ghost319 2009-02-23  
如果是在局域网中,大家使用一个出口IP,你该怎么判断呢?
1 楼 huraky 2009-02-23  
没有人感兴趣么?

相关推荐

    SSO个人实现方式

    根据提供的文件名,我们可以推测这是一个基于Java实现的SSO系统,可能包含了以下部分: - **ssoserver.crt**:可能是一个SSL证书,用于加密和验证服务器的身份,确保通信的安全性。 - **ssoserver.keystore**:Java...

    SSO的简单实现SSO的简单实现

    SSO(Single Sign-On)是一种身份验证机制,允许用户在一个系统上登录后,无需再次输入凭证即可访问其他相互信任的系统。SSO 提高了用户体验,简化了安全管理,并减少了密码管理的复杂性。以下是对SSO简单实现的详细...

    SSO单点登陆解决方案

    * SSO系统实现各个成员网站的无缝结合,只要会员经过了认证服务器的登录验证(Passport服务器),该会员访问其他任何网站时,都不需要再次登录。 * 会员在第一次登录时,Passport服务器验证身份之后,生成的Cookie...

    java web sso 实现

    Java Web SSO(Single Sign-On)实现是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需多次输入凭证。本教程将基于提供的博文链接进行讲解,但请注意,由于没有直接提供具体内容,这里会...

    单点登录SSO的实现原理

    单点登录(SSO)是一种常见的技术实现原理,在多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。实现单点登录说到底就是要解决如何产生和存储那个...

    跨服务器登录验证(单点登录SSO)过程和Java实现

    在Java环境中,实现SSO可以使用开源的SSO框架,如Spring Security或Apache Shiro。以下以Spring Security为例简述实现步骤: 1. **引入依赖**:在项目中添加Spring Security的依赖。 2. **配置SSO**:在Spring ...

    SSO单点登录实现与实现原理

    SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在多个相互关联的应用系统中只需要登录一次,即可访问所有系统,而无需再次输入凭证。这种技术在现代企业环境中非常常见,因为它提供了便捷的用户体验并...

    ssm redis实现sso单点登录

    在本文中,我们将深入探讨如何使用SSM(Spring MVC、Spring、MyBatis)框架结合Redis缓存来实现SSO功能。 首先,了解SSO的核心原理是关键。SSO主要依赖于票据(Ticket)的概念,当用户成功登录到一个系统时,服务器...

    关于SSO单点登录的简单实现

    SSO-agent1可能是实现SSO的一个代理或插件,它可能用于与CAS服务器通信,处理登录验证和票据交换的过程。这种代理通常会配置在各个应用服务器上,以便它们能够与CAS进行交互。 在实际应用中,我们可以使用开源的SSO...

    单点登录系统(SSO)+权限管理

    单点登录系统(Single Sign-On,SSO)是一种网络身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在SSO系统中,用户只需要记住一套登录凭据,提高了用户体验,同时减少了密码...

    .net单点登录sso的实现

    .NET下的单点登录(Single Sign-On,简称SSO)是一种让用户在多个应用系统间自由切换,只需要一次登录验证的身份管理技术。它提升了用户体验,减少了密码管理的复杂性,尤其适用于企业内部或拥有多个子系统的环境。...

    spring boot 实现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/

    单点登录系统(SSO)技术实现剖析.PDF

    单点登录系统(Single Sign-On,简称SSO)是一种网络...综上所述,SSO技术通过统一的认证机制,实现了跨系统的一站式登录体验,但在实际应用中需要谨慎处理安全性和复杂性问题,以确保用户数据的安全和系统的稳定性。

    CAS框架SSO的实现

    CAS框架SSO的实现

    sso-test01

    - 可扩展性:设计时考虑SSO系统未来可能接入更多应用的需求。 总之,"sso-test01"项目提供了基于Redis或MySQL实现的SSO解决方案,涉及的身份验证、Ticket管理、客户端配置等多个环节,对于理解和实践SSO技术具有...

    Java EE和Domino系统间跨域SSO的实现

    Java EE和Domino系统间跨域SSO的实现

    基于Spring Boot、Mybatis、Redis的SSO单点登录系统demo

    在这个基于Spring Boot、Mybatis和Redis的SSO单点登录系统demo中,我们可以深入理解如何将这些技术集成以实现高效的身份验证管理。 首先,Spring Boot是一个用于简化Spring应用初始搭建以及开发过程的框架,它内置...

    SSO单点登录源码

    SSO(Single Sign-On)单点登录是一种网络应用的认证技术,它允许用户在一个系统或应用中...通过深入研究这些源码,你可以更深入地了解SSO的实现细节,这对于构建自己的SSO系统或者优化现有系统的SSO功能非常有帮助。

Global site tag (gtag.js) - Google Analytics