一 部署简述

  cas server官方推荐采用overlay方式进行部署,通过替换自定义文件,减少项目文件改动,以简化开发和部署,这个有点类似于项目上直接替换java的class文件,由于和git的搭配使用,降低了版本不一致的问题;

二 部署

  • clone项目:
  git clone --depth=1 --single-branch --branch=5.3 https://github.com/liulei3/cas-overlay-template.git

  --depth:clone深度,1代表只clone最近一次提交;
  --single-branch:只获取单个分支,分支由--branch或主分支远程的HEAD指定;
  --branch:指定clone分支;
  由于不同版本存在差异,这里选取5.3版本演示;

  • 项目要求:
  JDK 1.8+;
  配置ssl证书;

  配置ssl证书如果采用官方启动方式是必须的,因为默认开发端口是8443;

  • 项目目录

    

  etc.cas.config 定义cas服务器默认配置文件和日志信息
  maven maven统一版本包,因为不同版本的maven存在差异,为了避免脚本执行环境错误,这里引入了统一的maven版本,感觉可以删除,有意者可以自行尝试
  build.* 项目构建脚本,sh是linux环境运行;cmd是windows环境运行;
  mvnw.* maven执行脚本,没有后缀是linux环境运行;bat是windows环境运行;

  tip:

  pom.xml文件中定义了外部依赖库,它会覆盖本地的maven依赖库设置,你下载可以直接注释;
  cas server是一个web项目,它依赖一个外部服务器,这个服务器可以是jetty,undertow,tomcat或者自定义web服务器,这里选取tomcat,它依赖cas-server-webapp-tomcat-5.3.4.war,
  这个包有115M,推荐你单独下载,然后直接放入你maven本地仓库即可(位置:maven仓库地址\org\apereo\cas\cas-server-webapp-tomcat\5.3.4\);
  • 配置ssl证书
  1 生成keystore
    keytool -genkey -alias cas -keyalg RSA -validity 999 -keystore D:\cas\thekeystore.keystore
      -alias:指定别名
      -keyalg指定RSA算法
      -validity指定有效天数;
      -keystore指定文件路径及名称;
    另外提示输入您的名字与姓氏:是CAS服务器使用的域名(不能是IP,也不能是localhost)   2 导出证书
    keytool -export -alias cas -file D:\cas\cas.crt -keystore D:\cas\thekeystore.keystore
      -alias指定别名;
      -file指定导出证书的文件名;
      -keystore指定之前生成的密钥文件的文件名。   3 替换jdk证书
    keytool -import -alias cas -file D:\cas\cas.crt -keystore $JAVA_HOME\jre\lib\security\cacerts
      -file:指定导入证书的文件名
      -keystore:jdk证书位置   4 查看证书:
    keytool -list -v -alias cas -keystore D:\cas\thekeystore.keystore

  需要你自己替换文件目录

  • 项目启动
  1 脚本启动  
    window
      运行war包方式
        ./build.cmd run
      spring boot方式
        ./build.cmd bootrun
    linux:命令一样,但是执行脚本为build.sh
  2 tomcat启动(这种方式不用配置ssl证书)
    打包获取cas.war
      mvn clean package
    将cas.war放入tomcat的webapps目录,启动tomcat的startup.bat运行

  spring boot方式启动如果你修改了目录结构或者脚本,需要你指定启动主类

  • 访问

  http://cas.server.name:8080/cas
  https://cas.server.name:8443/cas

未配置ssl证书登录页:

    

配置ssl证书登录页:

    

  • 登录:

输入默认用户名密码:casuser::Mellon 跳转登录成功页:

    

参考资料:

  cas-overlay-template: https://github.com/liulei3/cas-overlay-template/tree/5.3
  cas build process: https://apereo.github.io/cas/developer/Build-Process-5X.html

cas系列-cas server demo搭建(二)的更多相关文章

  1. cas系列-cas登出(四)

    跟登陆一样,登出操作也很重要.由于是多应用间操作,状态保持也是一个要点,根据登出的影响范围,可以将登出操作分为两类: 单应用登出 单点登出(多应用登出) 顾名思义,单应用登出即登出只影响被操作的应用会 ...

  2. cas系列-cas REST协议(三)

    cas的rest协议 cas还支持rest协议方式进行访问,格式和参数如下: 1. 获取TGT 请求方式,路径,http协议及请求参数: POST /cas/v1/tickets HTTP/1.0 u ...

  3. CAS 5.1.x 的搭建和使用(二)—— 通过Overlay搭建服务端-其它配置说明

    CAS单点登录系列: CAS 5.1.x 的搭建和使用(一)—— 通过Overlay搭建服务端 CAS5.1.x 的搭建和使用(二)—— 通过Overlay搭建服务端-其它配置说明 CAS5.1.x ...

  4. cas单点登录-CAS5.1.3 overlay服务器搭建(二)

    前言    本节主要讲解怎么搭建cas服务端,并且在浏览器中使用https访问cas服务端 1.通过cas代码生成工具(https://casinitializr.herokuapp.com/),生成 ...

  5. CAS 5.1.x 的搭建和使用(一)—— 通过Overlay搭建服务端

    CAS单点登录系列: CAS 5.1.x 的搭建和使用(一)—— 通过Overlay搭建服务端 CAS5.1.x 的搭建和使用(二)—— 通过Overlay搭建服务端-其它配置说明 CAS5.1.x ...

  6. cas协议,以及tomcat搭建cas服务器

    1.      CAS 简介 1.1.  What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨 ...

  7. CAS 5.1.x 的搭建和使用(四)—— 配置使用HTTP协议访问的服务端

    CAS单点登录系列: CAS 5.1.x 的搭建和使用(一)—— 通过Overlay搭建服务端 CAS5.1.x 的搭建和使用(二)—— 通过Overlay搭建服务端-其它配置说明 CAS5.1.x ...

  8. CAS 5.1.x 的搭建和使用(三)—— 通过官方示例来熟悉客户端搭建

    CAS单点登录系列: CAS 5.1.x 的搭建和使用(一)—— 通过Overlay搭建服务端 CAS5.1.x 的搭建和使用(二)—— 通过Overlay搭建服务端-其它配置说明 CAS5.1.x ...

  9. cas 单点登录(SSO)实验之二: cas-client

    cas 单点登录(SSO)实验之二: cas-client 参考文章: http://my.oschina.net/indestiny/blog/200768#comments http://wenk ...

随机推荐

  1. SQL Server系统函数:元数据函数

    原文:SQL Server系统函数:元数据函数 1.列的长度.列名 --列的长度 select COL_LENGTH('dbo.wct', --表名 'wcid') --列名 --列名 select ...

  2. c# 163网易发送邮件

    是4.0的,说以添加包是 代码: public class SendEmailInfo { /// <summary> /// 发送邮件 /// </summary> /// ...

  3. vue中子组件的created、mounted钩子中获取不到props中的值问题

    父子组件通信 这个官网很清楚,也很简单,父组件中使用v-bind绑定传送,子组件使用props接收即可 例如: 父组件中: <template> <div> <head- ...

  4. Navicat MySql 连不上 本地开发环境 MySQL8.0

    原因:   新版mysql数据库的加密方式改变,进而导致Navicat连接输入的密码不能与安装时输入的密码匹配,那如何解决这个问题呢?很简单,只需要一句代码的事儿~ 1.打开MySQL 8.0 Com ...

  5. 记一次Git提交报错的问题

    通常代码版本控制的步骤是: 在代码版本控制平台新建一个仓库 clone远程仓库到本地 开始编码,然后是一系列add,commit,push 我的步骤是: 在远程代码版本管理平台新建一个仓库 在本地新建 ...

  6. Java 面向对象(七)多态

    一.多态概述(Polymorphism) 1.引入 多态是继封装.继承之后,面向对象的第三大特性. 通过不同的事物,体现出来的不同的形态.多态,描述的就是这样的状态.如跑的动作,每个动物的跑的动作就是 ...

  7. 我是怎么找到电子书的 - IT篇

    转自于:http://my.oschina.net/0757/blog/375908#OSC_h2_8 IT-ebooks http://it-ebooks.info/ http://www.it-e ...

  8. Linux下zookeeper集群搭建

    Linux下zookeeper集群搭建 部署前准备 下载zookeeper的安装包 http://zookeeper.apache.org/releases.html 我下载的版本是zookeeper ...

  9. Ubuntu系统---进行C++项目开发的工具

    Ubuntu系统---进行C++项目开发的工具 在Ubuntu系统下进行C++工作任务,还没接触过.像 Windows + vs 一样,Ubuntu应该也有自己的C++开发工具.网上搜罗了一圈,发现有 ...

  10. 【Leetcode】【简单】【1. 两数之和】【JavaScript】

    题目描述 1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能 ...