cas学习之cas-server部署配置

Posted zhuqingxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cas学习之cas-server部署配置相关的知识,希望对你有一定的参考价值。

 

 

最近在学cas,把有些步骤性的东西记录一下,也方便以后查找

0. 证书配置

 生成证书

技术分享图片

查看证书文件

技术分享图片

 

 导出证书

技术分享图片

导入证书

技术分享图片

 相关路径记录下,后面配置tomcat要用到。

1. 使用cas-overlay-template项目,感觉这个就是个脚手架或者快速开发模板

   使用的是5.1分支,先克隆,初始大小只有几百k。

   git clone -b 5.1 https://github.com/apereo/cas-overlay-template

技术分享图片

2. 使用idea打开项目,一般情况下idea会自动解析依赖,并导入一个大概80多M的 overlays。

技术分享图片

技术分享图片

3. 配置Host文件

在这个路径下:技术分享图片

加入以下内容,

技术分享图片

这个相当于用本机映射一个虚拟域名,一个作为cas-server的域名,一个作为cas-client的域名。

4. 配置cas-server的Tomcat

 因为是maven项目,在这里注意下配置需要发布到服务器的artifacts.

技术分享图片

这里我选择展开后的项目,而不是压缩的war包。选择好了,点击ok。

技术分享图片

4. 修改pom.xml

 首先是cas.version,默认的5.1分支使用的是5.1.9版本的:

技术分享图片

但是我参考的文档使用的是5.1.3的,为了避免不必要的麻烦,改成5.1.3。并注释掉不必要的配置,添加必要的配置。

技术分享图片

技术分享图片

SETP3就是修改cas.version成你想要的版本了。

技术分享图片

改完之后删除overlays,pom.xml做一次reimport操作。

参考:https://blog.csdn.net/fireofjava/article/details/79049621

5. 修改配置(禁用静态用户,使用数据库连接)

在项目根目录下新建如下目录,

技术分享图片

java目录是留着后面客制化开发用的,暂时可以不看。把overlays/org.apereo.cas.cas-server-webapp-tomcat-5.1.3/WEB-INF/classes下的application.properties

复制一份到resources中,如上图。添加以下配置

##
# CAS Authentication Credentials
#
#cas.authn.accept.users=casuser::Mellon
cas.authn.jdbc.query[0].sql=select password from t_admin_user where login_name=?
cas.authn.jdbc.query[0].healthQuery=SELECT 1
cas.authn.jdbc.query[0].isolateInternalQueries=false
cas.authn.jdbc.query[0].url=jdbc:mysql://localhost:3306/zqx?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
cas.authn.jdbc.query[0].failFast=true
cas.authn.jdbc.query[0].isolationLevelName=ISOLATION_READ_COMMITTED
cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.MySQLDialect
cas.authn.jdbc.query[0].leakThreshold=10
cas.authn.jdbc.query[0].propagationBehaviorName=PROPAGATION_REQUIRED
cas.authn.jdbc.query[0].batchSize=1
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].ddlAuto=create-drop
cas.authn.jdbc.query[0].maxAgeDays=180
cas.authn.jdbc.query[0].password=xxxxxx
cas.authn.jdbc.query[0].autocommit=false
cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
cas.authn.jdbc.query[0].idleTimeout=5000
cas.authn.jdbc.query[0].credentialCriteria=
cas.authn.jdbc.query[0].fieldPassword=password
cas.authn.jdbc.query[0].pool.minSize=10
cas.authn.jdbc.query[0].pool.maxSize=100
cas.authn.jdbc.query[0].passwordEncoder.type=NONE

 注意下mysql6以上的版本用com.mysql.cj.jdbc.Driver,我的是mysql5的。其他按自己的情况修改。

6. 最后修改下,用来部署cas-server的Tomcat的server.xml配置

启用https:技术分享图片

 

(需要注意下,证书的相关配置在cas的application.properties里面也有,使用的是默认值,跟着相应改下就好)

 

输入数据库表中存储的用户名密码,即可成功登录

技术分享图片

登录过程结果在控制台也可以看到:

技术分享图片

到这里,cas-server就算搞定了。后面有空说一下cas-client和客户化开发。

 


























以上是关于cas学习之cas-server部署配置的主要内容,如果未能解决你的问题,请参考以下文章

CAS—改动默认登录页

SSO之CAS单点登录实例演示

CAS 4.0 配置开发手冊

cas导入证书使用https访问

CAS源码追踪系列三:cas-server端对请求的处理

CAS 4.0.x 自定义登录页面