业务需求
随着公司内网项目的增多,每个系统都一套账号密码,这样维护起来很不方便,所以决定搭建一套内部的SSO,经过多方便比较,选择CAS做统一登录
开始搭建
cas 项目比较大,配置必将复杂,但是CAS官方提供了一套模板项目CAS-Overlay-Template,先不管其他下载该项目,但是请注意选择版本
注意: CAS 6.0版本,用Java11,而且使用的gradle,而不是maven,而我本地还是使用的jdk8,所以选择了 5.3 版本;
*1. 查看配置文件/etc/cas/config *
#cas 服务地址 (修改为你的)
cas.server.name: https://cas.example.com:8443
# path 访问路径,默认带上 /cas
cas.server.prefix: https://cas.example.com:8443/cas
cas.adminPagesSecurity.ip=127\.0\.0\.1
#log 路径
logging.config: file:/etc/cas/config/log4j2.xml
#开启http访问,并指定端口为80
cas.server.http.enabled=true
cas.server.http.port=80
2. 执行启动
CAS-Overlay-Template 提供了启动脚本,window下 build.cmd,linux 有 build.sh,我是在linux 下进行操作的,执行 build.cmd ,常用的如下
build.cmd copy #复制配置到系统目录
build.cmd gencert ## 生成https 证书
build.cmd clean #清除打包信息
build.cmd package #打包
build.cmd run 打包镜像 #运行
build.cmd debug # debug测试
3.开始启动
build.cmd copy
build.cmd gencert 生成证书
build.cmd run
如果没啥问题,这个时候应该启动起来了 访问 http://域名:80/cas, https://域名:8443/cas,登录使用
target/cas/WEB-INF/classes/application.properties 文件下的 cas.authn.accept.users 默认用户名密码登录,这样简单的部分就完成了
经过几分钟的搭建 我们的成功启动了cas服务,下面我们详情的讲下配置
CAS-Overlay-Template 帮我们把多数的配置已经做了,下面我们要修改这些配置
-
在当前项目创建 标准的java文件目录结构
image.png -
将 target/cas/WEB-INF/classes/application.properties copy 到resouces目录下
###修改项目目录
server.context-path=/cas
### 端口号
server.port=8443
###证书地址,这里我用了自己的证书,为了方便,我把自己的证书也放在了classpath路径下
server.ssl.key-store=classpath:/thekeystore
###证书密码
server.ssl.key-store-password=******
server.ssl.key-password=******
重新启动项目 build.cmd
网友评论