基于cas 4.0。zuul + spring security cas 实现的认证demo
- 1-cas-server: cas服务端项目 即:CAS认证中心 /4.0
- 2-cas-register: cas注册中心
- 3-cas-gateway: 使用zuul实现的网关,使用spring security 实现的权限校验
- 4-cas-gateway1: 使用zuul实现的网关,使用spring security 实现的权限校验
- 5-cas-test-application1: 下游测试应用1
- 6-cas-test-application2: 下游测试应用2
- cas-server: 8080
- cas-register: 8761
- cas-gateway: 6001
- cas-gateway1: 6002
- cas-test-application1: 7001
- cas-test-application2: 7002
- 修改数据库配置
1-cas-server/cas-tomcat/webapps/cas/WEB-INF/deployerConfigContext.xml
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
p:driverClass="com.mysql.jdbc.Driver"
p:jdbcUrl="jdbc:mysql://localhost:3306/cas_test?characterEncoding=utf8"
p:user="root"
p:password="root" />
- 创建数据库 cas_test
- 创建表 user
CREATE DATABASE cas_test;
USE cas_test;
CREATE TABLE USER (
`id` BIGINT(18) PRIMARY KEY AUTO_INCREMENT,
`username` VARCHAR(32) NOT NULL DEFAULT '',
`password` VARCHAR(32) NOT NULL DEFAULT ''
);
INSERT INTO USER(`username`,`password`) VALUES('admin','admin'),('yjw','yjw');
- 首先启动CAS 认证中心-> 通过
0-cas-server/cas-tomcat/bin/startup.bat
进行启动- 启动注册中心
- 启动两个网关
- 启动两个测试应用
通过两个不同网关,访问两个不同不服,校验单点登录
- 访问服务1:
http://localhost:6001/test1/hello
- 访问服务2:
http://localhost:6002/test2/hello
- 退出服务:
http://localhost:6001/logout/cas
(注:退出后会重定向到百度首页)
- 首先访问服务,跳转到认证中心
- 查看日志,没有任何内容
- 成功登录后,跳转回原服务
- 查看日志,经历了zuul的pre拦截器 结论:说明zuul是在security 认证之后,才进入的路由拦截器。