一直想把公司运营的项目的各个子项的认证及授权统一到Cas上,从有想法到现在快一年的时间了。现在才正式着手,有兴趣的朋友一起交流学习一下。具体项目的细节不便透露,整合的大体思路为:1、开发部署Cas服务器端功能,2、开发Cas客户端基本功能框架、3、将Cas客户端框架打jar提供子项目使用,4、Docker正式环境部署Cas服务器,该系列博客中仅涉及1、2部分内容。

新手上路

一、Github上下载Cas服务器项目

下载地址:https://github.com/apereo/cas-overlay-template,通过Branch下拉到5.3下载,本人使用5.3 进行开发部署。解压后用IDEA打开,如下图目录结构:

说明:本地需要安装配置Maven,需要等待相关资源库的下载

如果出现类型上图飘红的情况,直接删除。

二、编译并运行

通过Maven进行打包(也可在命令行进行打包操作),可以看到多出target目录,打包出的资源都在此处。

在IDEA的Terminal窗口中执行build run(cmd命令行相同),经过漫长的等待会看到如下信息:

并在后面跟着一串异常信息,然后运行进程终结........

通过观察异常信息可以看出,Cas使用SSL启动并监听8443端口,但是却找不到《thekeystore》文件。thekeystore是SSL密钥文件,因此要为Cas服务器建立一个属于自己的密钥文件。如何建立证书网上有很多教程,但本人使用 KeyStore Explorer 可视化工具进行密钥创建,要下载该工具可访问:https://download.csdn.net/download/popo_popo/10750816。

三、创建密钥,再次编译并运行

然后点 “OK”

保持原域名不变

密码:changeit

经过以上操作,已经建立了一个密钥。密钥要存储在什么地方,才能被Cas服务器引用到?

在IDEA的项目目录中创建src/main/resources目录,并把resources作为资源目录,如下图:

之后把上面创建的SSL证书保持到resources目录并命名为thekeystore

之后从target>cas>WEB-INF>classes下复制application.properties到src>main>resources目录下

并修改复制过来的配置文件中的server.ssl.key-store项值为classpath:thekeystore

以上操作完成后,再次执行build run,当你看到READY的时候,天空靓了,心情爽了

Cas 服务器 下载、编译及部署的更多相关文章

  1. Cas 服务器 Service(Cas客户端)注册信息维护

    作为Cas服务器,允许哪些客户端接入与否是通过配置来定义的.对Cas服务器来说,每一个接入的客户端与一个Service配置对应:在Cas服务器启动时加载并注册上这些Service,与之对应的客户端才能 ...

  2. Cas 服务器 使用HTTP协议对外服务

    在上篇博文<Cas 服务器 下载.编译及部署>Cas启动后默认支持HTTPS连接,如果要使用使用HTTP连接访问,则会收到以下信息: 注:本文是将Cas服务器运行在Http协议模式下,非设 ...

  3. 单点登录CAS使用记(二):部署CAS服务器以及客户端

    CAS-Server下载地址:https://www.apereo.org/projects/cas/download-cas CAS-Client下载地址:http://developer.jasi ...

  4. 从零开始部署CAS服务器

    从0开始部署CAS服务器的操作过程文档,我已经整理完毕,一共分为8步,这8步都是我自己操作实践过的. Setp1:Ubuntu server安装 在virtual box中安装ubuntu serve ...

  5. 安装CAS服务器

    1.简介 参考: http://www.coin163.com/java/cas/cas.html CAS主要用于多系统单点登录,属于WEB SSO.SSO体系主要角色有三种:User(多个),WEB ...

  6. Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建

    [注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.Spark编译与部署将以CentOS 64位操作系统为基础,主要是考虑到实际应用 ...

  7. Cas服务器设置(java),java、php客户端配置

    由于多个项目需要帐号的互通,所以一开始就是用cas去做的,不得不说cas要配置的东西挺多的,但是项目安全性不需要太高,所以没有做https的请求,也就是没有弄证书,这虽然省了很多时间和精力,但是项目之 ...

  8. Spark编译与部署

    Spark入门实战系列--2.Spark编译与部署(上)--基础环境搭建   [注] 1.该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取: 2.S ...

  9. 搭建CAS服务器,并实现一个简单的单点登录的demo

    官网:http://jasig.github.io/cas/Cas Server下载:http://developer.jasig.org/cas/Cas Client下载:http://develo ...

随机推荐

  1. centos 7 mariadb安装

    centos 7 mariadb安装 1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB sy ...

  2. springboot Aop 统一处理Web请求日志

    1.增加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  3. leetcode — combinations

    import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Source : https://o ...

  4. linux 命令 — tr

    tr 对stdin字符进行替换.删除和压缩,基本形式 tr [options] set1 set2 将输入的字符串中的set1字符转换为set2中对应位置的字符 set1.set2表示字符集,如果se ...

  5. 10分钟学会使用YOLO及Opencv实现目标检测(下)|附源码

    将YOLO应用于视频流对象检测 首先打开 yolo_video.py文件并插入以下代码: # import the necessary packages import numpy as np impo ...

  6. 搭建企业级PPTP服务器

    本文收录在企业项目实战系列 一.VPN 介绍 1.介绍 虚拟私人网络(英语:Virtual Private Network,缩写为VPN)是一种常用于连接中.大型企业或团体与团体间的私人网络的通讯方法 ...

  7. go使用rpc

    RPC是远程过程调用的缩写(Remote Procedure Call),通俗地说就是调用远处的一个函数,是分布式系统中不同节点间流行的通信方式.Go语言的标准库提供了一个简单的RPC实现 serve ...

  8. Go Web:处理请求

    处理请求 Request和Response http Requset和Response的内容包括以下几项: Request or response line Zero or more headers ...

  9. Video for Linux Two API Specification

    V4L2 的使用规范,网址为:https://www.linuxtv.org/downloads/legacy/video4linux/API/V4L2_API/spec-single/v4l2.ht ...

  10. YTKNetwork源码详解

    本篇是第三篇关于网络请求的,将讲述YTKNetwork源码,上述两篇分别讲述AFNetworking源码解析以及结合自己项目封装AFNetworking. AFNetworking源码解析:https ...