This commit is contained in:
shimingxy 2020-03-07 22:30:02 +08:00
parent 84387bd1c1
commit 655736b881
4 changed files with 41 additions and 0 deletions

View File

@ -9,6 +9,7 @@
<li class=""><a href="{{site.baseurl}}/protocols/oauth2.html"><span class="none"></span>OAuth2介绍</a></li> <li class=""><a href="{{site.baseurl}}/protocols/oauth2.html"><span class="none"></span>OAuth2介绍</a></li>
<li class=""><a href="{{site.baseurl}}/protocols/jwtintros.html"><span class="none"></span>JWT介绍</a></li> <li class=""><a href="{{site.baseurl}}/protocols/jwtintros.html"><span class="none"></span>JWT介绍</a></li>
<li class=""><a href="{{site.baseurl}}/protocols/openid.html"><span class="none"></span>OpenID Connect介绍</a></li> <li class=""><a href="{{site.baseurl}}/protocols/openid.html"><span class="none"></span>OpenID Connect介绍</a></li>
<li class=""><a href="{{site.baseurl}}/protocols/cas.html"><span class="none"></span>CAS介绍</a></li>
</ul> </ul>
</li> </li>
<li><a href="{{site.baseurl}}/download.html" title="Download"><span class="none"></span>Download下载</a></li> <li><a href="{{site.baseurl}}/download.html" title="Download"><span class="none"></span>Download下载</a></li>

BIN
docs/images/cas/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
docs/images/cas/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

40
docs/protocols/cas..md Normal file
View File

@ -0,0 +1,40 @@
<h2>1、CAS简介</h2>
CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。CAS 具有以下特点:
【1】开源的企业级单点登录解决方案。
【2】CAS Server 为需要独立部署的 Web 应用。
【3】CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。
<h2>2、CAS体系结构</h2>
CAS 体系包含两个部分: CAS Server 和 CAS Client。CAS Server 需要独立部署主要负责对用户的认证工作CAS Client 负责处理对客户端受保护资源的访问请求,需要登录时,重定向到 CAS Server。
<img src="{{ "/images/cas/1.jpg" | prepend: site.baseurl }}?{{ site.time | date: "%Y%m%d%H%M" }}" alt=""/>
<h2>3、CAS原理</h2>
CAS 最基本的协议过程:
<img src="{{ "/images/cas/2.jpg" | prepend: site.baseurl }}?{{ site.time | date: "%Y%m%d%H%M" }}" alt=""/>
SSO单点登录访问流程主要有以下步骤
1. 访问服务SSO客户端发送请求访问应用系统提供的服务资源。
2. 定向认证SSO客户端会重定向用户请求到SSO服务器。
3. 用户认证:用户身份认证。
4. 发放票据SSO服务器会产生一个随机的Service Ticket。
5. 验证票据SSO服务器验证票据Service Ticket的合法性验证通过后允许客户端访问服务。
6. 传输用户信息SSO服务器验证票据通过后传输用户认证结果信息给客户端。
<h2>4、 CAS中3个术语</h2>
Ticket Granting ticket (TGT) 可以认为是CAS Server根据用户名密码生成的一张票存在Server端
Ticket-granting cookie (TGC) 其实就是一个Cookie存放用户身份信息由Server发给Client端
Service ticket (ST) 由TGT生成的一次性票据用于验证只能用一次。相当于Server发给Client一张票然后Client拿着这个票再来找Server验证看看是不是Server签发的。