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

实现多系统之间的单点登录到底能给我们带来多少好处

阅读更多
今天看了一下cas的实现方案(Central Authentication Service)。发现它实际上也就是帮我们在多个系统之间共享了一下用户的登录名。
对于用户来说确实是减少了在多个系统之间重复输入用户名,密码的工作量。
但是对于程序开发者而言,除集中了一部分的用户帐号管理功能之外,还有什么其他的好处吗?

假如有a,b两个系统,每个系统的用户表里除了最基本的登录名及密码之外还各自关联了一些其他的用户信息,并且还与
系统内部的其他表存在某种关联,例如生成报表时需要用到特定的用户属性等等。
那采用了单点登录方案之后,我还是要维护各自系统内部的用户数据,并且还要实现系统内部的用户数据与cas server端
的用户数据同步(同步代价也不小吧)。就是说想做到用户的集中管理不是太现实的。

再说到用户的权限管理,每个系统对这个多系统之间的共享账户肯定是分配了不同的权限,应用系统拿到cas server返回的用户名之后还是要做当前系统的权限分配。

那多个系统之间进行界面(ui)级整合呢?我能设计一个通用的系统界面为所有的新老系统提供统一的用户管理,统
一的权限管理吗?

是不是可以这么说,对于单点登录这种系统整合方案,就是解决了少输入几次用户名,密码这个问题,到最后实际上到是增加了系统实现及整合的复杂度。

有什么好的解决方案可以将新老系统整合进一个通用的企业门户吗?

思路有点乱,写的也乱,大家有什么想法都交流一下吧。
分享到:
评论
13 楼 guoxu1231 2009-04-15  
冗余的东西总会发出bad smell.

从安全性角度来说,SSO可以实现统一的数据加密,密码管理策略,提高整体安全性.
12 楼 chris45 2009-04-15  
就是实现在修改应用用户名或者密码的时候需要同时修改CAS服务器上的应用系统用户表的用户名或密码  及在修改CAS服务器上的应用系统用户表的用户名或密码时修改应用的用户名或者密码,是这样吧?
11 楼 gembler 2009-04-13  
chris45 写道
请问下在cas 的server,client端各自开放几个调用接口,保证子系统与cas server端的账户信息同步这个具体如何实现呢?

一般情况下只共享username+password,详细信息交给子平台维护。
10 楼 chris45 2009-04-13  
请问下在cas 的server,client端各自开放几个调用接口,保证子系统与cas server端的账户信息同步这个具体如何实现呢?
9 楼 jef 2009-03-02  
其实我最后也明白了,不能想得太理想。
系统使用cas进行了整合,最后总了几点。

1,单点登录仅仅帮助我们在各个子系统中间安全的共享了一下用户名,省去了用户重复登陆的麻烦,统一了用户帐户的管理,至于用户在每个系统中的权限分配,还是继续交 给子系统完成吧。可以开发一个cas server端的集成界面(portal),方便用户在各个子系统中间的快速切换。

2,为了完善cas server的用户管理功能,需要在cas 的server,client端各自开放几个调用接口,保证子系统与cas server端的账户信息同步。

3,改造老系统时尽量为portal的集成开发新的访问入口(而不是去修改以前的代码使之兼容),这样既可以从集成portal访问,又可以从原有的访问地址访问。
8 楼 fjlyxx 2009-03-01  
呵呵 主要需求  你也不希望每天输入不同的密码用户登入多个业务系统  其次还能做到统一的资源用户管理  还有就是可以开发门户系统卖钱  主要还是满足上级单位集权的需求啦.
7 楼 suntongo 2009-02-28  
单点登录的意义有二:
1、方便用户(这是应用系统不断追求的目标之一)。
2、专业化,使得认证方式的更新成本最低,比如电子商务系统中,需要在口令方式的基础上增加更安全的数字证书认证方式或者一次性口令认证方式,那么只需要升级SSO支持服务器的软件而其他应用系统完全不需要逐个去升级。
如果SSO还要兼顾各应用系统的细节(哪怕是纯界面的兼顾),只怕带来的问题比得到的好处要多。
6 楼 rmn190 2009-02-21  
关注, 这些天也在因为研究Acegi而牵连到这个单点登录的概念, 一开始觉得没什么复杂的, 但看了各们的讨论后再细想下问题挺多的.
5 楼 andot 2009-01-08  
jef 写道
andot 写道
单点登录不一定要权限集中,单点登录最好的解决方案是用户映射,而不是用户集中管理。各个系统都拥有自己的用户和权限管理部分,然后将各个系统的用户映射到统一登录服务器上(甚至用户名都无需一致),然后登录服务器只负责登录管理,具体的权限管理还是交给各个应用系统去完成,这样是最方便的,这样不但各个系统可以独立开发,互不影响,而且可以将已有的系统通过增加几行简单的代码就可以集成到单点登录系统当中。

这里有一个通过这种方式实现的单点登录系统:http://bbs.phpchina.com/thread-99990-1-1.html

这个不是我写的,也不是 Java 的。不过他用的那个PHPRPC (不好意思的说,这个 PHPRPC 是我写的)是支持许多语言的(包括 Java),因此很容易移植到 Java 上来,甚至可以跟其它语言开发的系统集成到一起。


恩,说的有道理,有些思路了。我在想如果真要做到多个系统之间界面级整合,包括统一的用户管理,权限管理,也可以
通过把子系统的用户数据及权限数据映射到cas server端,然后在开发一个cas server端的后台管理系统,通过这个系统实现多个系统之间界面级的整合。我说的界面级整合就是指左边是模块,功能菜单,右边是子系统界面那种(iframe实现)。
不过把系统想的太理想了实现起来还是挺麻烦。

PS:看了下PHPRPC,先崇拜一下 呵呵 


嗯,我还真见过你说的这样实现的系统,原来我还在学校工作,学校要上数字化校园系统时,来竞标的几个公司就是提供了这样的实现,但问题是,上了这样的系统就意味着数字化校园系统要完全在这样的一个框架下开发,而原来已有的系统(比如原来的教务系统,学生管理系统等)则基本上无法集成进来,只能从头开发。另外一点就是在统一权限管理下开发各个子系统难度也很大,因为统一权限管理下很难做到细粒度的权限管理,而如果每上一个子系统就根据子系统的特征往同统一权限管理系统中加这个子系统的权限特征的话,又会让统一权限管理变得混乱而臃肿。因此,学校的这个数字化校园计划在我离开学校时,连第一期的验收都还没有通过。
4 楼 jef 2009-01-08  
andot 写道
单点登录不一定要权限集中,单点登录最好的解决方案是用户映射,而不是用户集中管理。各个系统都拥有自己的用户和权限管理部分,然后将各个系统的用户映射到统一登录服务器上(甚至用户名都无需一致),然后登录服务器只负责登录管理,具体的权限管理还是交给各个应用系统去完成,这样是最方便的,这样不但各个系统可以独立开发,互不影响,而且可以将已有的系统通过增加几行简单的代码就可以集成到单点登录系统当中。

这里有一个通过这种方式实现的单点登录系统:http://bbs.phpchina.com/thread-99990-1-1.html

这个不是我写的,也不是 Java 的。不过他用的那个PHPRPC (不好意思的说,这个 PHPRPC 是我写的)是支持许多语言的(包括 Java),因此很容易移植到 Java 上来,甚至可以跟其它语言开发的系统集成到一起。


恩,说的有道理,有些思路了。我在想如果真要做到多个系统之间界面级整合,包括统一的用户管理,权限管理,也可以
通过把子系统的用户数据及权限数据映射到cas server端,然后在开发一个cas server端的后台管理系统,通过这个系统实现多个系统之间界面级的整合。我说的界面级整合就是指左边是模块,功能菜单,右边是子系统界面那种(iframe实现)。
不过把系统想的太理想了实现起来还是挺麻烦。

PS:看了下PHPRPC,先崇拜一下 呵呵 
3 楼 andot 2009-01-07  
单点登录不一定要权限集中,单点登录最好的解决方案是用户映射,而不是用户集中管理。各个系统都拥有自己的用户和权限管理部分,然后将各个系统的用户映射到统一登录服务器上(甚至用户名都无需一致),然后登录服务器只负责登录管理,具体的权限管理还是交给各个应用系统去完成,这样是最方便的,这样不但各个系统可以独立开发,互不影响,而且可以将已有的系统通过增加几行简单的代码就可以集成到单点登录系统当中。

这里有一个通过这种方式实现的单点登录系统:http://bbs.phpchina.com/thread-99990-1-1.html

这个不是我写的,也不是 Java 的。不过他用的那个PHPRPC (不好意思的说,这个 PHPRPC 是我写的)是支持许多语言的(包括 Java),因此很容易移植到 Java 上来,甚至可以跟其它语言开发的系统集成到一起。
2 楼 xuyao 2009-01-07  
lz说对了,就是方便用户麻烦开发
1 楼 czx566 2009-01-07  
SOA~~

相关推荐

    单点登录系统的设计与实现

    ### 单点登录系统的设计与实现 #### 一、引言 随着信息技术的发展,用户在不同的应用系统之间频繁切换已成为常态。为了提升用户体验并确保数据安全,单点登录(Single Sign-On, SSO)系统逐渐成为众多企业的首选...

    单点登录系统调研报告

    【单点登录系统】是现代企业信息化环境中解决用户身份验证问题的重要技术,它允许用户通过一次登录,就能访问多个相互关联的应用系统,极大地提升了用户体验并降低了管理成本。本报告主要探讨了单点登录系统的设计与...

    单点登录的实现_单点登录_

    单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在现代企业级应用环境中,用户经常需要在不同的应用之间切换,SSO能显著提高用户...

    基于SAML的单点登录系统的研究与实现

    通过SAML,可以在不同系统间共享用户身份认证和授权数据,从而实现单点登录和单点登出功能。SAML是实现SSO的重要标准之一,广泛应用于企业级的SSO解决方案中。 研究与实现基于SAML的单点登录系统通常包括以下几个...

    SSO单点登陆解决方案

    * 实现单点登录,需要确保认证服务器和成员网站服务器之间的数据一致性。 * 实现身份验证,需要确保会员身份的真实性。 * 实现Cookie验证票的管理,需要确保Cookie验证票的安全性和可靠性。 7. SSO系统的未来发展:...

    网站用户单点登录系统解决方案

    实现单点登录系统可以带来以下好处: 1. **提升用户体验**:用户只需登录一次,即可无缝访问所有关联系统,简化操作流程。 2. **低耦合度**:各应用系统间的改动不会相互影响,保证系统的稳定性。 3. **统一标准*...

    企业级单点登录系统模型的设计与实现.pdf

    ### 企业级单点登录系统模型的设计与实现 在当今高度信息化的企业环境中,单点登录(Single Sign-On,简称SSO)系统已成为提高工作效率、增强安全性的重要工具。本文旨在探讨一种适用于多类型企业应用的单点登录...

    论文研究-基于WEB的单点登录技术研究与实现 .pdf

    - 论文中提及了Novell公司的单点登录产品,比如Securelogin SSO和Liberty Authentication,它们通过访问网关、单点登录认证管理模块、认证目录的协作实现统一的身份认证管理。 6. 统一身份管理系统的核心组成部分...

    单点登录解决方案单点登录解决方案

    单点登录的核心在于减少用户在不同系统间的重复登录,实现一次认证后的无缝访问。具体来说,主要包括以下几个关键组成部分: 1. **身份认证中心**:负责用户的认证工作,通常包括用户名和密码的验证。 2. **票据**...

    单点登录设计说明书

    单点登录(Single Sign-On,简称SSO)是一种网络认证机制,它允许用户在一个系统或应用中登录后,无需再次输入凭证即可访问其他关联的系统或应用。这种设计提高了用户体验,减少了用户记忆多个密码的负担,同时在...

    一种简单跨域单点登录系统的实现

    ### 一种简单跨域单点登录系统的实现:深入解析 #### 概述 单点登录(Single Sign-On,简称SSO)系统作为一种重要的网络安全技术,旨在解决分布式计算环境中的用户身份验证与资源访问控制问题。当用户在一个系统或...

    单点登录个人总结

    单点登录(Single Sign-On,简称 SSO)是一种安全机制,它允许用户在一个系统中登录后,无需再次输入凭证就能访问同一域内的其他系统。这种机制大大简化了用户的使用体验,并且提升了系统的整体安全性。例如,在企业...

    单点登录产品测试研究记录_version5.pdf

    单点登录是一种网络身份验证机制,允许用户通过一次登录操作,就能访问多个相互独立的应用系统,无需多次输入用户名和密码。这种技术对于拥有多个服务器和网站资源的企业或组织来说,提高了用户访问的便捷性和安全性...

    java单点登录的实现

    ### Java单点登录的实现 #### 一、引言 在现代互联网应用中,随着企业信息化建设的深入发展,各种业务系统不断涌现,这给用户带来了便利的同时也带来了一定的困扰,比如需要记住多个系统的账号和密码。单点登录...

Global site tag (gtag.js) - Google Analytics