CAS开启Rest服务(包括5.x / 4.x / 3.x版本)
文章目录
- 基础说明
- 一、CAS 5.3.2开启Rest服务
- 二、CAS 4.0.0开启Rest服务
- 三、CAS 3.5.2开启Rest服务
- 方法1:下载源码,自己编译打包方式
- 方法2:手动拷入jar包方式
基础说明
- 从源码文件夹可以看出,从v3.2.2.1-RC1: NOJIRA版本开始有Rest组件。
- 6.x版本要求jdk11以上,jdk11不能免费商用,使用5.x版本/jdk8即可。
- 从cas v4.0.0的更新日志-New Feature中可以看出,从该版本开始采用CAS 3.0协议;cas 3.x使用CAS 2.0协议。
- cas服务器搭建有三种方式:
(1)下载源码,自己编译打包
(2)使用官方发行版中的war包(不怎么需要修改的话)
(3)使用cas-overlay-template项目 - 本文各版本都是使用使用
tomcat8.5.41、端口8080
测试成功,其它版本tomcat不保证。
一、CAS 5.3.2开启Rest服务
overlay是maven/gradle提供的特性,只需要按照完全相同的路径覆盖掉自己需要修改的部分,代码结构清晰,方便升级和维护。
cas官方文档关于overlay的说明:https://apereo.github.io/cas/5.3.x/installation/Maven-Overlay-Installation.html
The process of working with an overlay, whether Maven or Gradle, can be summarized in the following steps:
- 下载overlay项目,简单运行测试
- 在target中找到需要修改的文件
- 按路径一毛一样拷贝到src目录下
- 修改文件
- 编译打包发布即可
- 下载cas-overlay-template-5.3项目:https://github.com/apereo/cas-overlay-template/tree/5.3
- 解压,编辑pom.xml文件
(1)去掉repositories,这样就会从自己maven配置的仓库下载,比如阿里云仓库,会快很多。
(2)添加rest依赖<!--添加到这个位置 ...Additional dependencies may be placed here... --> <dependency><groupId>org.apereo.cas</groupId><artifactId>cas-server-support-rest</artifactId><version>${cas.version}</version> </dependency>
- 导入IDE,在IDE中部署到tomcat8.5并启动
cas 5.x 版本要求使用jdk1.8
- 浏览器测试
地址 http://localhost:8080/ 用户名、密码 casuser / Mellon - postman测试Rest
地址 POST
http://localhost:8080/v1/tickets参数 用户名、密码:casuser / Mellon Headers - Accept application/json(可选,如果这样设置,仅返回TGT)
二、CAS 4.0.0开启Rest服务
下载cas4.0.0的源码包:https://github.com/apereo/cas/releases/tag/v4.0.0
解压,在 cas-server-webapp\pom.xml 中添加:
<dependency> <groupId>org.jasig.cas</groupId> <artifactId>cas-server-integration-restlet</artifactId> <version>${project.version}</version> <scope>compile</scope> </dependency>
在cas-server-webapp目录下运行
mvn clean mvn package
正常执行的话,会在target下生成cas.war文件
部署到tomcat8.5,浏览器测试正常
修改tomcat下项目文件中的\webapps\cas\WEB-INF\web.xml文件,增加如下配置(增加到第一个
<servlet>
配置的地方)<servlet> <servlet-name>restlet</servlet-name> <servlet-class>org.restlet.ext.spring.RestletFrameworkServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>restlet</servlet-name> <url-pattern>/v1/*</url-pattern> </servlet-mapping>
注意cas3.x和4.x这里配置不同
重启tomcat,使用postman测试rest接口
地址 POST
http://localhost:8080/cas/v1/tickets参数 用户名、密码:casuser / Mellon
三、CAS 3.5.2开启Rest服务
方法1:下载源码,自己编译打包方式
- 下载cas3.5.2的源码包:https://github.com/apereo/cas/releases/tag/v3.5.2
- 解压,在 cas-server-webapp\pom.xml 中添加:
<dependency> <groupId>org.jasig.cas</groupId> <artifactId>cas-server-integration-restlet</artifactId> <version>${project.version}</version> <scope>compile</scope> </dependency>
- 在cas-server-webapp目录下运行(
一定注意:使用jdk1.7版本
)mvn clean mvn package
- 正常执行的话,会在target下生成cas.war文件
- 部署到tomcat,浏览器测试正常(3.x版本用户名、密码相同即可登录)
- 修改tomcat下项目文件中的\webapps\cas\WEB-INF\web.xml文件,增加如下配置(增加到第一个
<servlet>
配置的地方)<servlet><servlet-name>restlet</servlet-name><servlet-class>com.noelios.restlet.ext.spring.RestletFrameworkServlet</servlet-class><load-on-startup>1</load-on-startup> </servlet> <servlet-mapping><servlet-name>restlet</servlet-name><url-pattern>/v1/*</url-pattern> </servlet-mapping>
注意cas3.x和4.x这里配置不同
- 重启tomcat,使用postman测试rest接口
地址 POST
http://localhost:8080/cas/v1/tickets参数 用户名、密码:admin / admin
方法2:手动拷入jar包方式
- 下载release包
cas-server-3.5.2-release.zip
:https://github.com/apereo/cas/releases/tag/v3.5.2 - 解压,将\modules\cas-server-webapp-3.5.2.war更名为cas.war部署到tomcat8.5下
- 启动tomcat测试,效果同方法1
地址 POST
http://localhost:8080/cas/用户名、密码 3.x版本用户名、密码相同即可登录 - 拷贝如下jar包到cas\WEB-INF\lib下:
// \cas-server-3.5.2\modules文件夹中 cas-server-integration-restlet-3.5.2.jar// 以下5个jar包是我从方法1编译打包结果对比出来的,我是直接从方法1 war包中拷贝的,可以自己上maven仓库找 com.noelios.restlet.ext.servlet.jar com.noelios.restlet.ext.spring-1.1.0.jar com.noelios.restlet.jar org.restlet.ext.spring-1.1.10.jar org.restlet-1.1.10.jar
- 同方法1中修改\webapps\cas\WEB-INF\web.xml文件
- 重启tomcat,使用postman测试rest接口,效果同方法1
此方法最简单,只需要(1)拷入需要的jar包(2)配置web.xml 即可。
但是无法凭空确定需要的jar包,有时候可能不止看起来的一个jar包,还包括依赖的jar包,所以必要时还是需要使用方法1,熟悉之后,比如正式环境部署可以使用方法2。
references
[1] CAS各版本官方文档
[2] CAS5.2x单点登录(十五)---------cas server开启restful验证
[3] CAS4.0版本restful API部署及调用(http版)
[4] CAS3.5.2 Server集成RESTful API实施详细
[5] CAS5.3.2专栏文章
CAS开启Rest服务(包括5.x / 4.x / 3.x版本)相关推荐
- 使用SpringBoot开启微服务之旅
\ 本文要点 \\ 微服务可以使你的代码解耦\\t 微服务可以使不同的团队专注于更小范围的工作职责.使用独立的技术.更安全更频繁地部署\\t SpringBoot支持各种REST API的实现方式\\ ...
- 阿里云微服务引擎MSE网关功能,开启微服务“大门”云化时代
简介:微服务网关被作为微服务面向客户端的单一入口,用来处理横向的关注点,包括访问控制.速率限制.负载均衡等等.真正用起来时,我们还需要关注更多的纵向因素,例如服务发现能力.更全面的监控可观测能力.更高 ...
- 飞腾发布高可扩展芯片腾云S2500 开启多路服务新时代
国产CPU再掀新动作.7月23日,"芯算力·新基建·新引擎--飞腾新一代多路服务器CPU云端发布会"成功举行,飞腾公司正式发布了新一代高可扩展多路服务器芯片腾云S2500.天津市工 ...
- java发邮件需要什么意思_java 发送邮件需要开启什么服务
java 发送邮件需要开启什么服务 关注:149 答案:2 mip版 解决时间 2021-02-04 10:01 提问者美人如画皮 2021-02-03 14:35 java 发送邮件需要开启什么 ...
- 赞!北斗卫星助力NTP时钟服务器开启计时服务
赞!北斗卫星助力NTP时钟服务器开启计时服务 赞!北斗卫星助力NTP时钟服务器开启计时服务 精确时钟自动校准技术,是一种简便的获取北斗卫星精确时间信息的专利技术,具有灵敏度高.不受时间及地域限制等特点 ...
- linux怎样开启telnet服务,linux开启telnet服务
步骤: sudo apt-get install xinetd telnetd 安装成功后,系统会显示有相应得提示 sudo vim /etc/inetd.conf 并加入内容: teln ...
- 容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析
摘要: 容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析 (二):Kubernetes如何助力Spark大数据分析 概述 本文为大家介绍一种容器化的数据服务Spark ...
- 打开linux虚拟机ssh服务,虚拟机中Ubuntu11.04如何开启ssh服务?
ubuntu系统是一个自由.开源的操作系统,既免费又易用,成为现如今最受欢迎的linux发行版之一.但是用惯了windows系统的用户也不舍得放弃windows系统,所以在虚拟机中运行ubuntu系统 ...
- Ubuntu下开启SSH服务
网上有很多介绍在Ubuntu下开启SSH服务的文章,但大多数介绍的方法测试后都不太理想,均不能实现远程登录到Ubuntu上,最后分析原因是都没有真正开启ssh-server服务.最终成功的方法如下: ...
最新文章
- python 计算文件的MD5
- 常微分方程I ODE的例子1 弹簧的振动、RLC电路与单摆
- jquery点击页面其他位置隐藏div
- 特征描述子提取公用接口
- 【数据结构与算法】之深入解析“零钱兑换”的求解思路与算法示例
- CentOS命令行安装配置KVM详细教程
- linux perl模块检测,Linux有问必答:如何用Perl检测Linux的发行版本
- python https协议和InsecurePlatformWarning问题
- 第十七届“科大讯飞杯”高校网络友谊赛——F-排列计算
- 复旦NLP组:大厂模型的鲁棒性进步了吗?
- 使用Google zxing生成二维码
- QRSpeed QQ机器人 词库编写教学
- SQL Server 的完整下载安装教程
- Tomcat安装配置
- linux桌面壁纸目录,[多图]回顾每一款默认Ubuntu壁纸
- dacom蓝牙耳机怎么重置_无线蓝牙耳机 常见八大故障解决办法
- Altium Designer入门
- 【SAP】ABAP开发——ALV展示后字段的下划线连接
- python获取年末,月末,季末的日期和距指定时间的天数
- 未来计算机更加智能化,未来计算机的发展趋势
热门文章
- [转载]你省下来的钱,够买时间吗?
- 动软分享社区功能解析-视频分享和基于地理位置分享图片
- Typo: In woed 'xxx' mour...(Ctrl + F1)
- 删除mysql中的hive库_Hive删除数据库
- 二手房房产估价模型研究
- Python培训班_找 达内:2019年达内IT培训机构第一期开班盛况
- 编程之旅-Day20
- 颠覆认知!“垃圾股”策略长期跑,10年翻100倍、近2年6倍,吊打茅指数!| 邢不行
- word在打开网上下载的文件时出错
- IDE 一直卡在Resolving Maven dependencies的解决方案