CAS单点登录(一)——初识SSO

个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈 

前言:其实好早就想把CAS的这一套知识整合一下,在工作上也应用到了这块,只是最近才在工作上接触到CAS,所以刚好把这些知识总结一下。这块可能是一个比较大的模块知识点,所以会有多篇文章进行逐一展开,笔者会尽量抽空更新,当然如果文章中存在错误,期望大家指出。


一、初识CAS

首先我们来说一下CAS,CAS全称为Central Authentication Service即中央认证服务,是一个企业多语言单点登录的解决方案,并努力去成为一个身份验证和授权需求的综合平台。

CAS是由Yale大学发起的一个企业级的、开源的项目,旨在为Web应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。

CAS协议至少涉及三方:客户端Web浏览器,请求身份验证的Web应用程序和CAS服务器。 它也可能涉及后端服务,如数据库服务器,它没有自己的HTTP接口,但与Web应用程序进行通信。

主要特征:

  • 多种的协议的支持,包括CAS (v1、v2、v3)、SAML(v1、v2)、OAuth、OpenID、OpenID Connect和WS-Federation Passive Requestor

  • 多种认证机制,可以通过JAAS,LDAP,RDBMS,X.509,Radius,SPNEGO,JWT,Remote,Trusted,BASIC,Apache Shiro,MongoDB,Pac4J等进行身份验证

  • 可以通过WS-FED,Facebook,Twitter,SAML IdP,OpenID,OpenID Connect,CAS等代理委派认证

  • 多种形式的授权包括ABAC, Time/Date, REST, Internet2’s Grouper等

  • 同时也支持HAZELCAST、EHCache、JPA、MycCache、Apache IGITE、MangGDB、ReDIS、DimoDoB、Couchbase等实现高可用多个集群部署

  • 各种丰富的客户端,像常见的Java、Python、Node、PHP、C#、Perl等等


Github: https://github.com/apereo/cas

下载链接:https://github.com/apereo/cas/tags

开发文档:https://apereo.github.io/cas/5.2.x/index.html

官网:https://www.apereo.org/projects/cas

二、SSO

1. SSO简介

单点登录( Single Sign-On , 简称 SSO )是多个相关但独立的软件系统访问控制的一个属性。通过使用该属性,用户登录与单个ID和密码来访问所连接的一个或多个系统,而不使用不同的用户名或密码,或在某些配置中无缝登录在每个系统上,它是比较流行的服务于企业业务整合的一种解决方案。总结一句话,SSO 使得在多个应用系统中,用户只需要 登录一次就可以访问所有相互信任的应用系统。

举个栗子:阿里巴巴旗下的淘宝网,你在浏览器里登录了,打开阿里云或者天猫就会发现可以不用在登录了,这里就是使用了SSO。

在SSO体系中,主要包括三部分:

  1. User (多个)
  2. Web 应用(多个)
  3. SSO 认证中心( 1 个)

而SSO的实现基本核心原则如下:

  • 所有的登录都在 SSO 认证中心进行
  • SSO 认证中心通过一些方法来告诉 Web 应用当前访问用户究竟是不是已通过认证的用户
  • SSO 认证中心和所有的 Web 应用建立一种信任关系, SSO 认证中心对用户身份正确性的判断会通过某种方法告之 Web 应用,而且判断结果必须被 Web 应用信任。

2. SSO原理

2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值