单点登录方案的比較和选择

1、OpenSSO
以前Sun的一款开源产品,从非常少的那一点点中文资料上来看,这个能实现我须要的那种SSO模式。

从SUN被Oracle收购之后,Oracle便关闭了OpenSSO这个项目,如今在网上下不到OpenSSO的安装文件。并且以前的那些在SUN公布的非常多相关的帮助文档,大多数链接都失效了,全都指向了Oracle的同一个页面,找不到文档中相应的安装文件。

2、OpenAM
OpenAM的原型应该就是OpenSSO,据说是在Oracle关闭OpenSSO时,被“挽救”下来的。在OpenAM的官网上能找到相关的帮助文档,这样的方法使用的LDAPserver是OpenDS,而既存系统在OAS上使用的是OID(Oracle Internet Directory),客户希望沿用OID这个LDAPserver,(恨死他们了),从OpenAM的安装过程来看,OpenAM似乎不支持OID。可是,在网上找到一些资料似乎改动一些配置还是能够做到的。

OpenAM 是一个率先的开源认证、授权的产品,可用于替换即将被取消的 OpenSSO。
OpenAM 提供核心的标识服务用来简化实如今一个网络架构中的透明单点登录,包含集中式或者分布式的单点登录。基本的特性有: 
    全然符合开源AAA产品; 
    AAA协议:计算机安全领域的协议。AAA指:鉴权,授权,计费(Authentication, Authorization, Accounting)
    简单易用、易配置;
    纯Java开发;
    可轻松配置联合认证系统,并集成到已有项目中。

最新的功能: 
    支持 XACML 协议 
    100%支持 OAuth 认证协议
    企业监控
3、Kerberos 也提供第二种方式的 SSO 。即基于 Windows 域的 SSO
Spring Security Kerberos:将Windows Active Directory认证(或其他支持Kerberos的设施)与Spring Security集成来实现单点登录。
Spring Security Kerberos:Spring Security SAML:Spring Security CAS:都是针对单点登录server的client实现

4、CAS 是 Yale 大学发起的一个开源项目,据统计,大概每 10 个採用开源构建 Web SSO 的 Java 项目,就有 8 个使用 CAS 。这些统计可能言过事实上。但有一点能够肯定的是, CAS 是最简单实效,并且足够安全的 SSO 选择,旨在为 Web 应用系统提供一种可靠的单点登录方法。CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS具有下面特点: 
开源的企业级单点登录解决方式。
CAS Server 为须要独立部署的 Web 应用。
CAS Client 支持许多的client(这里指单点登录系统中的各个 Web 应用)。包含Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。


5、shiro能不能做单点登录?

shiro的单点登录是通过集成cas实现的
6、通过session共享。须要做的太多,比方
不能实现跨域,须要自己实现(即使各service能够訪问同一个sessionserver。可是浏览器端跨域后,用户没有凭证TGT证明自己登陆了)
退出登陆须要自己实现,能够參考cas系统的退出
要自己做权限管理
要自己实现sevice控制,把非法的service排除在外
须要自己实现oauth
而上面这些CAS都做好了
7、其它
总结:个人推荐CAS系统
请看cas常见问题系列文章 - 持续更新中

--------------------------
微信公众号:IT人成长关注
原文地址:https://www.cnblogs.com/liguangsunls/p/7281691.html