码迷,mamicode.com
首页 > 其他好文 > 详细

单点登录系统SSO以及实现技术CAS了解(手记)

时间:2018-07-16 21:08:30      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:sig   流行   color   inf   步骤   auth   解决方案   数据库   重构   

一.单点登录

单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的 解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访 问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用 于同一个用户的登录的机制。

优点:

1)提高用户的效率。
用户不再被多次登录困扰,也不需要记住多个 ID 和密码。另外,用户忘记密码并求助于支持人员的情况也会减少。
2)提高开发人员的效率。
SSO 为开发人员提供了一个通用的身份验证框架。实际上,如果 SSO 机制是独立的,那么开发人员就完全不需要为身份验证操心。他们可以假设,只要对应用程序的请求附带一个用户名,身份验证就已经完成了。
3)简化管理。
如果应用程序加入了单点登录协议,管理用户帐号的负担就会减轻。简化的程度取决于应用程序,因为 SSO 只处理身份验证。所以,应用程序可能仍然需要设置用户的属性(比如访问特权)。

缺点:

1)不利于重构
 
因为涉及到的系统很多,要重构必须要兼容所有的系统,可能很耗时。
2) 无人看守桌面
因为只需要登录一次,所有的授权的应用系统都可以访问,可能导致一些很重要的信息泄露。

二.什么是CAS?

单点登录典型的技术实现有 CAS;而 CAS(Central Authentication Service) 是 Yale 耶鲁大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点 登录方法,CAS 开始于 2001 年。

从结构体系看;CAS 包含两部分:

1、 CAS Server : CAS Server 负责完成对用户的认证工作,CAS Server 是一台应用需要独立部署。 CAS Server 可能会到数据库或 XML 文件中检索用户密码进行认证工作。

2、 CAS Client :CAS Client 一般表示业务系统(我们开发的项目)但是在项目中添加了 CAS 的各类过滤器;对受保护的资源进行身份认证,它将认证重定向到CAS Server中进行。

三.运行流程视图

技术分享图片

技术分享图片

四.实现步骤:

sso-client

  1. 拦截子系统未登录用户请求,跳转至sso认证中心
  2. 接收并存储sso认证中心发送的令牌
  3. 与sso-server通信,校验令牌的有效性
  4. 建立局部会话
  5. 拦截用户注销请求,向sso认证中心发送注销请求
  6. 接收sso认证中心发出的注销请求,销毁局部会话

  sso-server

  1. 验证用户的登录信息
  2. 创建全局会话
  3. 创建授权令牌
  4. 与sso-client通信发送令牌
  5. 校验sso-client令牌有效性
  6. 系统注册
  7. 接收sso-client注销请求,注销所有会话

单点登录系统SSO以及实现技术CAS了解(手记)

标签:sig   流行   color   inf   步骤   auth   解决方案   数据库   重构   

原文地址:https://www.cnblogs.com/pnmh/p/9319973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!