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包方式

基础说明

  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依赖
    
    <dependency>
        <groupId>org.apereo.casgroupId>
        <artifactId>cas-server-support-restartifactId>
        <version>${cas.version}version>
    dependency>
    
  3. 导入IDE,在IDE中部署到tomcat8.5并启动

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

  4. 浏览器测试
    地址 http://localhost:8080/
    用户名、密码 casuser / Mellon
    CAS开启Rest服务(包括5.x / 4.x / 3.x版本)_第1张图片
  5. postman测试Rest
    地址 POST http://localhost:8080/v1/tickets
    参数 用户名、密码:casuser / Mellon
    Headers - Accept application/json(可选,如果这样设置,仅返回TGT)
    CAS开启Rest服务(包括5.x / 4.x / 3.x版本)_第2张图片
    CAS开启Rest服务(包括5.x / 4.x / 3.x版本)_第3张图片

二、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.casgroupId>  
        <artifactId>cas-server-integration-restletartifactId>  
        <version>${project.version}version>  
         <scope>compilescope>  
    dependency>
    
  3. 在cas-server-webapp目录下运行

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

  5. 部署到tomcat8.5,浏览器测试正常
    CAS开启Rest服务(包括5.x / 4.x / 3.x版本)_第4张图片

  6. 修改tomcat下项目文件中的\webapps\cas\WEB-INF\web.xml文件,增加如下配置(增加到第一个配置的地方)

    <servlet>  
      <servlet-name>restletservlet-name>  
        <servlet-class>org.restlet.ext.spring.RestletFrameworkServletservlet-class>  
        <load-on-startup>1load-on-startup>  
    servlet>  
      
    <servlet-mapping>  
        <servlet-name>restletservlet-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开启Rest服务(包括5.x / 4.x / 3.x版本)_第5张图片

三、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.casgroupId>  
        <artifactId>cas-server-integration-restletartifactId>  
        <version>${project.version}version>  
        <scope>compilescope>  
    dependency>
    
  3. 在cas-server-webapp目录下运行(一定注意:使用jdk1.7版本
    mvn clean
    mvn package
    
  4. 正常执行的话,会在target下生成cas.war文件
  5. 部署到tomcat,浏览器测试正常(3.x版本用户名、密码相同即可登录
    CAS开启Rest服务(包括5.x / 4.x / 3.x版本)_第6张图片
  6. 修改tomcat下项目文件中的\webapps\cas\WEB-INF\web.xml文件,增加如下配置(增加到第一个配置的地方)
    <servlet>
       <servlet-name>restletservlet-name>
       <servlet-class>com.noelios.restlet.ext.spring.RestletFrameworkServletservlet-class>
       <load-on-startup>1load-on-startup>
    servlet>      
    <servlet-mapping>
       <servlet-name>restletservlet-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
    CAS开启Rest服务(包括5.x / 4.x / 3.x版本)_第7张图片

方法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专栏文章

你可能感兴趣的:(Java,工具,cas,单点登录,overlay)