上一篇写到服务端部署的是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项目,部署过程曲折,其实中间还有很多尝试操作不足为外人道,有价值的部分记录下来,希望对大家有帮助,如果哪里写的不对的,欢迎指正。

【CAS学习二】CAS部署和联调的更多相关文章

  1. CAS学习笔记二:CAS单点登录流程

    背景 由于公司项目甲方众多,各甲方为了统一登录用户体系实现单点登录(SSO)开始要求各乙方项目对接其搭建的CAS单点登录服务,有段时间对CAS的流程很迷,各厂商还有基于CAS进行二次开发的情况,所以对 ...

  2. 单点登录(五)-----遇到问题-----cas server 源码部署tomcat运行报错BeanCreationException:Error creating bean with name 's

    我们在上一篇文章已经解决了把下载好的cas server源码部署到tomcat缺少子项目编辑文件或者jar包导致找不到class报错的问题 单点登录(四)-----遇到问题-----cas serve ...

  3. 单点登录(四)-----遇到问题-----cas server 源码部署tomcat运行报错ClassNotFoundException: org.jasig.cas.CasEnvironmentCo

    情况 cas单点登录 cas server 源码部署tomcat运行报错 把cas server的代码下载下来后使用gradle插件或者maven插件以及转化成eclipse·后导入发现部署到tomc ...

  4. 单点登录(六)-----遇到问题-----cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of pr

    cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of project 'cas-server-cor ...

  5. Cas(02)——部署Cas Server

    部署Cas Server Cas应用都需要有一个Cas Server.Cas Server是基于Java Servlet实现的,其要求部署在Servlet2.4以上版本的Web容器中.在此笔者将其部署 ...

  6. CAS学习笔记三:SpringBoot自动配置与手动配置过滤器方式集成CAS客户端

    本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式集成CAS客户端. 需要提前搭建 CAS 服务端,参考 https://www.cnblogs.com/hell ...

  7. CAS学习笔记五:SpringBoot自动/手动配置方式集成CAS单点登出

    本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式实现CAS客户端登出及单点登出. 本文基于<CAS学习笔记三:SpringBoot自动/手动配置方式集成C ...

  8. CAS学习笔记(三)—— SERVER登录后用户信息的返回

    一旦CAS SERVER验证成功后,我们就会跳转到客户端中去.跳转到客户端去后,大家想一想,客户端总要获取用户信息吧,不然客户端是怎么知道登录的是哪个用户.那么客户端要怎么获取用户信息呢? 其实验证成 ...

  9. 单点登录cas常见问题(二) - 子系统是否会频繁訪问cas中心?

    这个问题的完整描写叙述是:用户成功登陆后.在訪问子系统的受限资源时,还须要訪问cas中心么,即子系统是否还会频繁訪问cas中心.cas中心会不会压力太大? 答案是:不会. 假设用户通过子系统A登录了c ...

  10. kubernetes学习笔记(二)——部署服务

    文章目录 (1)创建app (2)创建app的docker镜像 (3)部署app到k8s (4)参考资料 前面一篇文章部署好了minikube环境,这次学习下怎么部署app到kubernetes环境当 ...

随机推荐

  1. notepad++的使用技巧

    一.多标签管理 1.可支持多个标签的展示

  2. 机器学习-决策树系列-决策树-ID3算法 -C4.5算法-26

    目录 1. 决策树 2. 举个例子 计算信息增益 3. C4.5算法 1. 决策树 决策树是属于有监督机器学习的一种,起源非常早,符合直觉并且非常直观, 模型生成:通过大量数据生成一颗非常好的树,用这 ...

  3. KVM 核心功能:内存虚拟化

    1 内存虚拟化简介 QEMU-KVM 提供内存的虚拟化,从虚拟机角度看其自身拥有的内存就是真实的物理内存.实际上,虚拟机是 host 上的一个 qemu 进程,在为虚拟机指定内存时,host 上并没有 ...

  4. springboot启动流程 (3) 自动装配

    在SpringBoot中,EnableAutoConfiguration注解用于开启自动装配功能. 本文将详细分析该注解的工作流程. EnableAutoConfiguration注解 启用Sprin ...

  5. 带你熟悉NLP预训练模型:BERT

    本文分享自华为云社区<[昇思技术公开课笔记-大模型]Bert理论知识>,作者: JeffDing. NLP中的预训练模型 语言模型演变经历的几个阶段 word2vec/Glove将离散的文 ...

  6. Go-GC-三色标记与混合写屏障

  7. [转帖]Sqlserver数据库中char、varchar、nchar、nvarchar的区别及查询表结构

    https://www.cnblogs.com/liuqifeng/p/10405121.html varchar 和 nvarchar区别: varchar(n)长度为 n 个字节的可变长度且非 U ...

  8. [转帖]Prometheus系列之Grafana 版本9.0.0 设置Email邮件报警实战

    目录 1. 配置文件conf/defaults.ini修改 2. Grafana Web页面配置报警邮箱接收者 3. 创建Dashboard 4. 创建Alert的文件夹 5. 设置Notificat ...

  9. [转帖]我们为什么放弃 MongoDB 和 MySQL,选择 TiDB

    https://zhuanlan.zhihu.com/p/164706527 写在前面的话 技术选型是由技术方向和业务场景 trade-off 决定的,脱离业务场景来说技术选型是没有任何意义的,所以本 ...

  10. [转帖]如何提高Linux下块设备IO的整体性能?

    http://www.yunweipai.com/6989.html 运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai领取学习更多免费Linux ...