文章目录

  • 基础说明
  • 一、CAS 5.3.2开启Rest服务
  • 二、CAS 4.0.0开启Rest服务
  • 三、CAS 3.5.2开启Rest服务
    • 方法1:下载源码,自己编译打包方式
    • 方法2:手动拷入jar包方式

基础说明

  1. 从源码文件夹可以看出,从v3.2.2.1-RC1: NOJIRA版本开始有Rest组件。
  2. 6.x版本要求jdk11以上,jdk11不能免费商用,使用5.x版本/jdk8即可。
  3. 从cas v4.0.0的更新日志-New Feature中可以看出,从该版本开始采用CAS 3.0协议;cas 3.x使用CAS 2.0协议。
  4. cas服务器搭建有三种方式:
    (1)下载源码,自己编译打包
    (2)使用官方发行版中的war包(不怎么需要修改的话)
    (3)使用cas-overlay-template项目
  5. 本文各版本都是使用使用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目录下
    • 修改文件
    • 编译打包发布即可
  1. 下载cas-overlay-template-5.3项目:https://github.com/apereo/cas-overlay-template/tree/5.3
  2. 解压,编辑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>
    
  3. 导入IDE,在IDE中部署到tomcat8.5并启动

    cas 5.x 版本要求使用jdk1.8

  4. 浏览器测试
    地址 http://localhost:8080/
    用户名、密码 casuser / Mellon

  5. postman测试Rest
    地址 POST http://localhost:8080/v1/tickets
    参数 用户名、密码:casuser / Mellon
    Headers - Accept application/json(可选,如果这样设置,仅返回TGT)


二、CAS 4.0.0开启Rest服务

  1. 下载cas4.0.0的源码包:https://github.com/apereo/cas/releases/tag/v4.0.0

  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>
    
  3. 在cas-server-webapp目录下运行

    mvn clean
    mvn package
    
  4. 正常执行的话,会在target下生成cas.war文件

  5. 部署到tomcat8.5,浏览器测试正常

  6. 修改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这里配置不同

  7. 重启tomcat,使用postman测试rest接口

    地址 POST http://localhost:8080/cas/v1/tickets
    参数 用户名、密码:casuser / Mellon

三、CAS 3.5.2开启Rest服务

方法1:下载源码,自己编译打包方式

  1. 下载cas3.5.2的源码包:https://github.com/apereo/cas/releases/tag/v3.5.2
  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>
    
  3. 在cas-server-webapp目录下运行(一定注意:使用jdk1.7版本
    mvn clean
    mvn package
    
  4. 正常执行的话,会在target下生成cas.war文件
  5. 部署到tomcat,浏览器测试正常(3.x版本用户名、密码相同即可登录
  6. 修改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这里配置不同

  7. 重启tomcat,使用postman测试rest接口
    地址 POST http://localhost:8080/cas/v1/tickets
    参数 用户名、密码:admin / admin

方法2:手动拷入jar包方式

  1. 下载release包cas-server-3.5.2-release.zip:https://github.com/apereo/cas/releases/tag/v3.5.2
  2. 解压,将\modules\cas-server-webapp-3.5.2.war更名为cas.war部署到tomcat8.5下
  3. 启动tomcat测试,效果同方法1
    地址 POST http://localhost:8080/cas/
    用户名、密码 3.x版本用户名、密码相同即可登录
  4. 拷贝如下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
    
  5. 同方法1中修改\webapps\cas\WEB-INF\web.xml文件
  6. 重启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版本)相关推荐

  1. 使用SpringBoot开启微服务之旅

    \ 本文要点 \\ 微服务可以使你的代码解耦\\t 微服务可以使不同的团队专注于更小范围的工作职责.使用独立的技术.更安全更频繁地部署\\t SpringBoot支持各种REST API的实现方式\\ ...

  2. 阿里云微服务引擎MSE网关功能,开启微服务“大门”云化时代

    简介:微服务网关被作为微服务面向客户端的单一入口,用来处理横向的关注点,包括访问控制.速率限制.负载均衡等等.真正用起来时,我们还需要关注更多的纵向因素,例如服务发现能力.更全面的监控可观测能力.更高 ...

  3. 飞腾发布高可扩展芯片腾云S2500 开启多路服务新时代

    国产CPU再掀新动作.7月23日,"芯算力·新基建·新引擎--飞腾新一代多路服务器CPU云端发布会"成功举行,飞腾公司正式发布了新一代高可扩展多路服务器芯片腾云S2500.天津市工 ...

  4. java发邮件需要什么意思_java 发送邮件需要开启什么服务

    java 发送邮件需要开启什么服务 关注:149  答案:2  mip版 解决时间 2021-02-04 10:01 提问者美人如画皮 2021-02-03 14:35 java 发送邮件需要开启什么 ...

  5. 赞!北斗卫星助力NTP时钟服务器开启计时服务

    赞!北斗卫星助力NTP时钟服务器开启计时服务 赞!北斗卫星助力NTP时钟服务器开启计时服务 精确时钟自动校准技术,是一种简便的获取北斗卫星精确时间信息的专利技术,具有灵敏度高.不受时间及地域限制等特点 ...

  6. linux怎样开启telnet服务,linux开启telnet服务

    步骤: sudo apt-get install xinetd telnetd     安装成功后,系统会显示有相应得提示 sudo vim /etc/inetd.conf  并加入内容:  teln ...

  7. 容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析

    摘要: 容器开启数据服务之旅系列(二):Kubernetes如何助力Spark大数据分析 (二):Kubernetes如何助力Spark大数据分析 概述 本文为大家介绍一种容器化的数据服务Spark ...

  8. 打开linux虚拟机ssh服务,虚拟机中Ubuntu11.04如何开启ssh服务?

    ubuntu系统是一个自由.开源的操作系统,既免费又易用,成为现如今最受欢迎的linux发行版之一.但是用惯了windows系统的用户也不舍得放弃windows系统,所以在虚拟机中运行ubuntu系统 ...

  9. Ubuntu下开启SSH服务

    网上有很多介绍在Ubuntu下开启SSH服务的文章,但大多数介绍的方法测试后都不太理想,均不能实现远程登录到Ubuntu上,最后分析原因是都没有真正开启ssh-server服务.最终成功的方法如下: ...

最新文章

  1. python 计算文件的MD5
  2. 常微分方程I ODE的例子1 弹簧的振动、RLC电路与单摆
  3. jquery点击页面其他位置隐藏div
  4. 特征描述子提取公用接口
  5. 【数据结构与算法】之深入解析“零钱兑换”的求解思路与算法示例
  6. CentOS命令行安装配置KVM详细教程
  7. linux perl模块检测,Linux有问必答:如何用Perl检测Linux的发行版本
  8. python https协议和InsecurePlatformWarning问题
  9. 第十七届“科大讯飞杯”高校网络友谊赛——F-排列计算
  10. 复旦NLP组:大厂模型的鲁棒性进步了吗?
  11. 使用Google zxing生成二维码
  12. QRSpeed QQ机器人 词库编写教学
  13. SQL Server 的完整下载安装教程
  14. Tomcat安装配置
  15. linux桌面壁纸目录,[多图]回顾每一款默认Ubuntu壁纸
  16. dacom蓝牙耳机怎么重置_无线蓝牙耳机 常见八大故障解决办法
  17. Altium Designer入门
  18. 【SAP】ABAP开发——ALV展示后字段的下划线连接
  19. python获取年末,月末,季末的日期和距指定时间的天数
  20. 未来计算机更加智能化,未来计算机的发展趋势

热门文章

  1. [转载]你省下来的钱,够买时间吗?
  2. 动软分享社区功能解析-视频分享和基于地理位置分享图片
  3. Typo: In woed 'xxx' mour...(Ctrl + F1)
  4. 删除mysql中的hive库_Hive删除数据库
  5. 二手房房产估价模型研究
  6. Python培训班_找 达内:2019年达内IT培训机构第一期开班盛况
  7. 编程之旅-Day20
  8. 颠覆认知!“垃圾股”策略长期跑,10年翻100倍、近2年6倍,吊打茅指数!| 邢不行
  9. word在打开网上下载的文件时出错
  10. IDE 一直卡在Resolving Maven dependencies的解决方案