从零开始学CAS单点登录——实例Demo

本文提供了一个从零开始学习CAS单点登录的实例,包括CAS Server的部署、业务系统配置,以及基本的单点登录功能实现。通过修改配置文件、启动Tomcat,实现了跨域的单点登录,但未涉及HTTPS、自定义登录页面、数据库认证和权限管理等进阶话题。
摘要由CSDN通过智能技术生成

首先说明的是,本文提供的是一个快速上手的实例,并不打算详细阐述单点登录的概念和CAS的工作原理。这也是本人平时学习的习惯:不管什么技术,先把环境搭起来,从最简单的Hello World逐步到其背后的Why-What-How。


一、准备工作

单点,至少我们得跨域吧,所以我这里部署了三个系统到三个Tomcat下:

应用 域名 Tomcat端口 作用 来源
CAS Server cas-server.com 38080 中央认证服务 官网下载
web-one cas-app1.com 18080 接入系统1 自定义
web-one cas-app2.com 28080 接入系统2 自定义

实现不同域名的模拟,只需配置hosts文件:
\System32\drivers\etc\hosts

127.0.0.1   cas-app1.com
127.0.0.1   cas-app2.com
127.0.0.1   cas-server.com

二、CAS Server部署

1 下载CAS Server
下载地址:https://www.apereo.org/projects/cas/download-cas
当前使用的是3.5.0版本

2 获取CAS Server部署包
使用cas server的方法有两种:
1. 直接将解压后文件夹下的modules文件夹中的cas-server-webapp-3.5.0.war到Tomcat中;
2. Eclipse中导入cas-server-3.5.0多模块maven项目,在Eclipse中启动cas-server-webapp这个web项目

不管用哪种方式,都是一样的,只是cas帮我们打好了包而已,第2种导入Eclipse便于我们调试和修改代码。

3 修改配置
1 WEB-INF/cas.properties
只需修改cas server部署的Tomcat的访问路径即可:

server.name=http://cas-server:38080

2 WEB-INF/deployerConfigContext.xml
为了简单起见,我们不启用HTTPS,添加requireSecure为false:

<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
                    p:httpClient-ref="httpClient" p:requireSecure="false" />

3 ticketGrantingTicketCookieGenerator.xml
同样添加cookieSecure为false:

    <bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
        p:cookieSecure="false"
        p:cookieMaxAge="-1"
        p:cookieName="CASTGC"
        p:cookiePath="/cas" />

4 war

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值