【CAS学习二】CAS部署和联调

上一篇写到服务端部署的是CAS 6.4版本,可后面与客户端集成时出现未认证授权的服务,如下:

 

网上查了下,要把http的访问打开。具体设置步骤是:修:%Tomcat%\webapps\cas\WEB-INF\classess\application.properties,在最下面添加如下代码:

cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true

修改%Tomcat%\webapps\cas\WEB-INF\classes\services\HTTPSandIMAPS-10000001.json,serviceId值增加http,如下:

 

 

 可一看tomcat和源码中,都没有这两个文件。网上查了良久都差不到原因,正郁闷时发现一个博客里面提到的方法,此处郑重感谢下:https://blog.csdn.net/weixin_43731618/article/details/109385333

先用命令gradlew clean build 打包,再gradlew explodeWar解压即可出现那些配置文件。话不多说,开干:

 

 

 

 

 gradlew explodeWar出错了,郁闷,查了半天无果,只能放弃了(哪位大神如果知道的麻烦告知,不胜感激)。换旧版试试,6.3一样失败,6.2成功了,故改用6.2部署,下面说下CAS 6.2部署、配置数据库、与Client端联合测试。

一.CAS 6.2打包及部署

下载和初步打包就不说了,想看的朋友看上一篇。

1.解压获取配置文件

 

 

 2.修改配置

1.解压完成后会在bulid目录下生成一个cas-resources 文件夹,把它拷贝到src/mian文件下改名为resources。

 ---------->

 

 

 3.修改application.properties,如下图

注释掉:

#cas.authn.accept.users=casuser::Mellon
#cas.authn.accept.name=Static Credentials

增加数据库配置和http准入,数据库配置中注释掉的是MySQL的配置。注意此处要先创建数据库cas,表t_user,具体方法网络上很多。

另外sqlserver的jdbc url是:jdbc:sqlserver://127.0.0.1;instanceName=MSSQLSERVER2016;databaseName=cas,

其中127.0.0.1代表本机数据库;instanceName后面是实例名,如果就1个实例可不写;databaseName后面是数据库名称

4.cas服务开启Rest认证

cas-overlay-template-6.2\build.gradle中添加rest的依赖

5.重新打包,再解压(怀疑这步可能多余)

gradlew clean build

gradlew explodeWar

把cas-overlay-template-6.2\build\libs\cas.war 文件拷贝到tomcat的webapps目录下,重启tomcat即可。

 

此步骤参考:https://blog.csdn.net/weixin_43731618/article/details/109385333

二.CAS-Client部署和联调

1.下载测试客户端:https://github.com/cas-projects/cas-sample-java-webapp

 

 2.修改配置:cas-sample-java-webapp-master\src\main\webapp\WEB-INF\web.xml

casServerUrlPrefix键值改为cas server地址,casServerLoginUrl键值改为部署的cas server的登录地址,serverName改为当前client的部署地址:

 

 

 3.打包部署到Tomcat

执行命令:mvn clean package,打包完成后拷贝cas-sample-java-webapp-master\target\cas-sample-java-webapp.war到Tomcat的webapps下,重启Tomcat

 

4.联调
  (1)发送POST请求一,获取TGT,请求地址/cas/v1/tickets,请求响应头中的Location即包含CAS服务器返回的TGT
POSTMAN的方式:

 

 

 

  (2)发送POST请求二,获取ST,直接使用请求一中返回的Location作为请求地址,service参数为客户端地址注意下面的service参数的值都要以/结尾

PostMan方式:

 

 

  (3)校验ST,访问http://localhost:8080/cas-sample-java-webapp/?ticket=ST-4-xzdl0IBFFdL5xj-vYs-rp1-goVc-DESKTOP-VLJVAUU完成登录

中间出现过下图圈出部分汉字乱码的问题,修改%Tomcat%\webapps\cas-sample-java-webapp\WEB-INF\web.xml,filter中增加

<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>

重启Tomcat后正常显示,此处感谢:https://blog.csdn.net/shunhua19881987/article/details/78720517

 

总结

首次接触Java项目,部署过程曲折,其实中间还有很多尝试操作不足为外人道,有价值的部分记录下来,希望对大家有帮助,如果哪里写的不对的,欢迎指正。 

 

posted @ 2021-12-31 18:35  双手在忙  阅读(669)  评论(0)    收藏  举报