Hadoop生态圈-单点登录框架之CAS(Central Authentication Service)部署

                                         作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.CAS简介

  CAS(Central Authentication Service)是一款十分流行的单点登录框架。单点登录(Single Sign On,SSO)是服务于惬意业务整合的解决方案之一,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

  CAS从架构上粉我饿CAS Server和CAS client两个部分,CAS Server是统一的认证服务器,所有未经授权的请求都会重定向到这里进行认证。而CAS Client则代表需要通过CAS Server进行认证的用用服务。

  CAS的整个认证流程如下图所示,CAS Client与受保护的客户端应用部署在一起,以Filter(过滤器)的形式保护手保护的资源。 

  1>.对于访问受保护的资源每个Web请求,CAS Clint会分析这些HTTTP请求是否包含Service Ticket ,如果没有则说明当前用户尚未登录;

  2>.如果用户尚未登录,CAS Client会将请求重定向到指定好的CAS Server登录地址,并传递Service地址(也就是要访问的目的资源地址),以便登录成功过后转回该地址;

  3>.用户在第3步认证信息,如果登录成功,CAS Server随机产生一个长度相等且唯一,不可伪造的Service Ticket;

  4>.之后系统自动重定向到Service所在地址,并为客户端浏览器设置一个Ticket Granted Cookie(TGC);

  5>.CAS Client在拿到Service地址和新产生的Ticket之后,在第5步和第6步中与CAS Server进行身份校验以确保Service Ticket的合法性。

  在该协议中,所有与CAS的交互均采用SSL协议,确保Service Ticket 和TGC的安全性。协议在工作过程中会有两次重定向的过程,但CAS Client与CAS Server之间进行Ticket验证的过程对于用户是透明的。

二.安装CAS-Server

1>.下载安装包

  首先下载CAS的程序包,我们使用CAS 4.0版本进行安装,程序下载地址是:https://github.com/apereo/cas/releases/tag/v4.0.0。下载之后会得到一个名为cas-server-4.0.0-release.zip的压缩包,请确保将其解压到Ambari-Server所在的服务器上的任意目录。这么做的原因是因为在集成单点登录的时候,Ranger,Ambari-Service,Knox Gateway和CAS-Sever需要安装在同一台服务器上。使用unzip命令对其解压,解压之后会生成一个文件夹。进入到modules目录下找到一个名为“cas-server-webapp-4.0.0.war”的文件,这就是CAS Server 程序,如下图所示,原来CAS Server其实是一个War包程序。

[root@node101 ~]# wget https://github.com/apereo/cas/releases/download/v4.0.0/cas-server-4.0.0-release.zip
---- ::-- https://github.com/apereo/cas/releases/download/v4.0.0/cas-server-4.0.0-release.zip
Resolving github.com (github.com)... 52.74.223.119, 13.229.188.59, 13.250.177.223
Connecting to github.com (github.com)|52.74.223.119|:... connected.
HTTP request sent, awaiting response... Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/2352744/3dbe1b3a-8863-11e4-9274-f93d7d695c3f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181218%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181218T102451Z&X-Amz-Expires=300&X-Amz-Signature=4010bdfa010e2790b79fb81fa28dadad52f8499263400dad68100ea4b131ee88&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dcas-server-4.0.0-release.zip&response-content-type=application%2Foctet-stream [following]
---- ::-- https://github-production-release-asset-2e65be.s3.amazonaws.com/2352744/3dbe1b3a-8863-11e4-9274-f93d7d695c3f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181218%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181218T102451Z&X-Amz-Expires=300&X-Amz-Signature=4010bdfa010e2790b79fb81fa28dadad52f8499263400dad68100ea4b131ee88&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dcas-server-4.0.0-release.zip&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.230.235
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.230.235|:... connected.
HTTP request sent, awaiting response... OK
Length: (80M) [application/octet-stream]
Saving to: ‘cas-server-4.0.-release.zip’ %[=======================================================================================>] ,, 946KB/s in 1m 44s -- :: ( KB/s) - ‘cas-server-4.0.-release.zip’ saved [/] [root@node101 ~]# ll
total
-rw-r--r-- root root May cas-server-4.0.-release.zip
[root@node101 ~]#

[root@node101 ~]# wget https://github.com/apereo/cas/releases/download/v4.0.0/cas-server-4.0.0-release.zip

2>.安装tomcat服务

  我们这里使用的是apache-tomcat-7.0.72版本,下载地址为:http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.72/。

[root@node101 ~]# wget  http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.72/bin/apache-tomcat-7.0.72.tar.gz
[root@node101 ~]#
[root@node101 ~]# ll
total
-rw-r--r-- root root Sep apache-tomcat-7.0..tar.gz
drwxrwxrwx root root May cas-server-4.0.
-rw-r--r-- root root May cas-server-4.0.-release.zip
[root@node101 ~]#
[root@node101 ~]# tar -xf apache-tomcat-7.0..tar.gz -C /yinzhengjie/softwares/
[root@node101 ~]#
[root@node101 ~]# cp cas-server-4.0./modules/cas-server-webapp-4.0..war /yinzhengjie/softwares/apache-tomcat-7.0./webapps/
[root@node101 ~]#
[root@node101 ~]# ll /yinzhengjie/softwares/apache-tomcat-7.0./webapps/
total
-rw-r--r-- root root Dec : cas-server-webapp-4.0..war
drwxr-xr-x root root Dec : docs
drwxr-xr-x root root Dec : examples
drwxr-xr-x root root Dec : host-manager
drwxr-xr-x root root Dec : manager
drwxr-xr-x root root Dec : ROOT
[root@node101 ~]#

3>.

三.

Hadoop生态圈-单点登录框架之CAS(Central Authentication Service)部署的更多相关文章

  1. 自己动手搭建 CAS(Central Authentication Service) 环境,为了单点登录(Single Sign On , 简称 SSO )

    介绍 刚刚搭建 CAS 成功了,现在记录下来,怕以后忘记,同时也给需要帮助的人.CAS 搭建需要服务端和客户端,服务端是 Java 写的,如果自己搭建则需要安装与配置 Java 环境.客户端可以是多种 ...

  2. CAS(Central Authentication Service)——windows上简单搭建及測试

    入手文章,大神绕行. 一.服务端搭建 我使用的服务端版本号为:cas-server-3.4.11-release.zip.解压之后,将\cas-server-3.4.11-release\cas-se ...

  3. Central Authentication Service

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  4. [精华][推荐]CAS SSO 单点登录框架学习 环境搭建

    1.了解单点登录  SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口. SSO 的体系中有下面三种角色: 1) User(多个) 2) Web 应用( ...

  5. CAS SSO单点登录框架学习

    1.了解单点登录  SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口. SSO 的体系中有下面三种角色: 1) User(多个) 2) Web 应用( ...

  6. CAS SSO单点登录框架介绍

    1.了解单点登录  SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口. SSO 的体系中有下面三种角色: 1) User(多个) 2) Web 应用( ...

  7. 【Java EE 学习 68】【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】

    单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...

  8. 【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】

    单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...

  9. CAS5.2x单点登录(一)——搭建cas服务器

    系列文章列表: https://blog.csdn.net/u013825231/article/category/7517313 单点登录的介绍 单点登录(Single Sign On ,简称SSO ...

随机推荐

  1. Civil 3D 二次开发 名称模板不能正常工作

    using Autodesk.AECC.Interop.Land; using Autodesk.AECC.Interop.UiLand; using Autodesk.AutoCAD.Applica ...

  2. java Builder模式创建不可变类

    package com.geostar.gfstack.operationcenter.logger.manager.common; /** * Created by Nihaorz on 2017/ ...

  3. 1、linux下对绝对路径和相对路径

    cd /  回到根目录         cd  /etc 回到根目录下的etc 目录下  绝对路径  路径写法是从根目录/ 写起来的. cd . 当前目录 cd .. 上层目录 cd ~回到自家的根目 ...

  4. Number Sequence POJ - 1019 递推 数学

    题意 1 12 123 1234 12345 ....这样的序列 问第n位数字是几   是数字! 1-9! 思路:递推关系 主要是位数的计算   用a[i]=a[i-1]+(int)log10((do ...

  5. jupyter更改存储路径

    实习了两个月爬虫,第一个月学到了不少东西,尤其是真实链接的抓取还有定时爬虫以及一些常规的反爬策略. 但是感觉第二个月的工作内容和预想的轨道渐渐脱离,所以选择了辞职,停下来重新看一下以后的路该怎么走,调 ...

  6. 扩展资源服务器解决oauth2 性能瓶颈

    OAuth用户携带token 请求资源服务器资源服务器拦截器 携带token 去认证服务器 调用tokenstore 对token 合法性校验资源服务器拿到token,默认只会含有用户名信息通过用户名 ...

  7. 【Luogu4916】魔力环(Burnside引理,组合计数)

    考虑\(Burside\)引理,设\(f(x)\)表示置换拆成循环的个数为\(x\)时的答案,那么最终的结果就是\(\displaystyle \frac{\sum_{i=1}^n f(gcd(i,n ...

  8. LVS负载均衡集群(DR)

    -----构建DR模式的LVS群集----- --client---------------------LVS------------------------WEB1----------------- ...

  9. STL的相关知识

    STL简介: STL(Standard Template Library,标准模版库)以模板类和模版函数的形式为程序员提供了各种数据结构和算法的实现,程序员通过利用STL,可以在代码空间.执行时间和编 ...

  10. MongoDb 命令查询所有数据库列表

    原文:http://blog.csdn.net/huxu981598436/article/details/47216493 MongoDb 命令查询所有数据库列表 CODE: > show d ...