Hadoop生态圈-单点登录框架之CAS(Central Authentication Service)部署
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)部署的更多相关文章
- 自己动手搭建 CAS(Central Authentication Service) 环境,为了单点登录(Single Sign On , 简称 SSO )
介绍 刚刚搭建 CAS 成功了,现在记录下来,怕以后忘记,同时也给需要帮助的人.CAS 搭建需要服务端和客户端,服务端是 Java 写的,如果自己搭建则需要安装与配置 Java 环境.客户端可以是多种 ...
- CAS(Central Authentication Service)——windows上简单搭建及測试
入手文章,大神绕行. 一.服务端搭建 我使用的服务端版本号为:cas-server-3.4.11-release.zip.解压之后,将\cas-server-3.4.11-release\cas-se ...
- Central Authentication Service
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- [精华][推荐]CAS SSO 单点登录框架学习 环境搭建
1.了解单点登录 SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口. SSO 的体系中有下面三种角色: 1) User(多个) 2) Web 应用( ...
- CAS SSO单点登录框架学习
1.了解单点登录 SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口. SSO 的体系中有下面三种角色: 1) User(多个) 2) Web 应用( ...
- CAS SSO单点登录框架介绍
1.了解单点登录 SSO 主要特点是: SSO 应用之间使用 Web 协议(如 HTTPS) ,并且只有一个登录入口. SSO 的体系中有下面三种角色: 1) User(多个) 2) Web 应用( ...
- 【Java EE 学习 68】【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】
单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...
- 【单点登录】【两种单点登录类型:SSO/CAS、相同一级域名的SSO】
单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再 ...
- CAS5.2x单点登录(一)——搭建cas服务器
系列文章列表: https://blog.csdn.net/u013825231/article/category/7517313 单点登录的介绍 单点登录(Single Sign On ,简称SSO ...
随机推荐
- AutoCAD Civil 3D多版本插件安装包制作
程序的主要界面如下: 图1 图2 图3 图4 安装包使用Installshield 2016完成. 其中图3是重点,可以选择需要安装的版本,此功能的实现,主要是依靠Installshiel ...
- python爬虫requests模块
requests库的七个主要方法 1. requests.requests(method, url, **kwargs) 构造一个请求,支撑以下各方法的基础方法 method:请求方式,对应get/p ...
- linux系统版本大全
Linux系统下载地址:http://www.jb51.net/LINUXjishu/239493.html linux系统教学视频:http://www.uplinux.com/shipin/lin ...
- python之旅5【第五篇】
装饰器详解 函数刚开始不解析内部,只是放进内存 装饰器是函数,只不过该函数可以具有特殊的含义,装饰器用来装饰函数或类,使用装饰器可以在函数执行前和执行后添加相应操作. 1 下面以一个函数开始,理解下面 ...
- BZOJ2038[2009国家集训队]小Z的袜子(hose)——莫队
题目描述 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜子从1到N编号 ...
- 第三方登陆——QQ登陆详解
申请地址 QQ互联:https://connect.qq.com/index.html 腾讯开放平台:https://open.tencent.com/ 注册账号 登陆 进入QQ互联,点击登陆 资料填 ...
- 用递归方法计算斐波那契数列(Recursion Fibonacci Sequence Python)
先科普一下什么叫斐波那契数列,以下内容摘自百度百科: 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因意大利数学家列昂纳多·斐波那契(Leonardoda Fibonacci ...
- 【C++】VS2015/VS2017连接Mysql数据库教程
要给C++程序连接MySQL数据库,分别需要: 安装MySQL Server 下载MySQL Connector/C++ 在IDE中配置依赖 然后就可以在代码中调用API,来连接以及操作数据库. 一. ...
- zabbix3.4.6之监控Oracle
新zabbix搭建配置完后,公司所有的主机是通过自动注册完成了添加,网络设备及其Templates是从旧zabbix中Export出模板,然后Import入新zabbix系统中.一些应用的监控就需要自 ...
- 【BZOJ5416】【NOI2018】冒泡排序(动态规划)
[BZOJ5416][NOI2018]冒泡排序(动态规划) 题面 BZOJ 洛谷 UOJ 题解 考场推出了就是两个上升子序列,并且最长下降子序列长度不超过\(2\)...然后大力暴力状压\(dp\)混 ...