基于shiro-cas的单点登录、单点登出、统一认证授权系统

一、首先明白三个概念:单点登录、单点登出、认证授权

单点登录:a系统登录后,b系统,c系统不用再登录就能访问。SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。即统一认证、统一session

单点登出:b系统登出后,a系统,c系统也为登出状态。

认证授权:认证和授权是两个概念。认证:常见的即用户名密码登录,完成用户身份认证。授权:用户身份认证成功后,授予用户相应的权限。具体可参看shiro中认证和授权的相关描述。

 

二、为什么要选用shiro,cas来实现:

shiro:

Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相
当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时
可能并不需要那么复杂的东西,所以使用小而简单的 Shiro 就足够了。对于它俩到底哪个
好,这个不必纠结,能更简单的解决项目问题就好了。

cas:

CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点:

开源的企业级单点登录解决方案。

CAS Server 为需要独立部署的 Web 应用。

CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。

 

三、整体架构:

涉及到4类应用:

1. 提供单点登录,单点登出服务的基于cas的web war应用

2. 提供授权的基于shiro的web war应用

3. 提供给具体业务系统的客户端过滤器jar应用

4. 具体业务系统web war应用

 

posted @ 2017-07-05 18:06  刘译繁liuyifan  阅读(8151)  评论(1编辑  收藏  举报