CAS开启Rest服务(包括5.x / 4.x / 3.x版本)

11 篇文章 2 订阅

基础说明

  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 - Acceptapplication/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.ziphttps://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专栏文章

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值