轻松搭建CAS 5.x系列(2)-搭建HTTPS的SSO SERVER端
概要说明
CAS要求,必须使用HTTPS的服务,否则就只等实现登录,无法实现单点登录。
科普下HTTPS,网站有HTTP和HTTPS两种协议。HTTP是浏览器到网站之间是明文传输,比如你输入帐号名和密码点击登录,那帐号名和密码在中间传输过程中有泄漏的风险。HTTPS是浏览器和网站之间加密传输,使用的非对称加密方式,所以非常安全。目前各大网站的登录基本都是用了HTTPS服务。
在上一篇文章《轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER 服务端》中,我们搭建了HTTP的CAS SERVER,在登录画面中有2个错误提示,其中一个就是使用了非加密协议的错误。本文就是来解决这个问题的。

操作步骤
1. 设置域名
SSL证书是基于域名的,如果您有自己的域名,请将域名指向到您的测试服务器。如果您没有自己的域名,那自己模拟个域名吧,暂且使用 cas.example.org 。在测试的电脑上,设置hosts将该域名指向到当前服务器。具体设置方式如下:
打开文件C:\Windows\System32\drivers\etc\hosts添加如下行
127.0.0.1 cas.example.org
2. 生成SSL证书
如果是正式对外的话,需要购买正式的SSL证书,阿里云和腾讯云都有。本文只是用于测试,只需要本地生成个SSL证书即可。购买的证书和自己生成证书的差别么,其一没那么的安全,其二浏览器不识别,访问时会有安全警告。
生成证书的步骤是
d:\
cd
D:\casoverlay
keytool -genkey -alias cas -keyalg RSA -keysize -keypass changeit -storepass changeit -keystore casexample.keystore -dname "CN=http://cas.example.org/,OU=casexample.com,O=casexample,L=casexample,ST=casexample,C=CN" -deststoretype pkcs12

3. Tomcat开启HTTPS服务,导入证书
Tomcat默认情况下是打开HTTP服务的,HTTPS的服务是需要手动开发的,具体打开步骤如下:
打开文件D:\casoverlay\apache-tomcat-8.5.31\conf\server.xml,增加如下配置
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="D:/casoverlay/casexample.keystore"
certificateKeystorePassword="changeit"
type="RSA" />
</SSLHostConfig>
</Connector>
4. 启动Tomcat
执行D:\casoverlay\apache-tomcat-8.5.31\bin\startup.bat
5. 访问CAS服务并登录
https://cas.example.org:8443/cas

可以看到安全的错误提示已经没有了
输入帐号名和密码:casuser/Mellon
恭喜您,HTTPS的CAS服务器已经搭建好了
最后,大家想更多CAS了解的话,可以来[CAS中文文档站点](http://www.cassso-china.cn)(http://www.cassso-china.cn)来瞅瞅。
轻松搭建CAS 5.x系列(2)-搭建HTTPS的SSO SERVER端的更多相关文章
- 轻松搭建CAS 5.x系列文章
轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端 轻松搭建CAS 5.x系列(2)-搭建HTTPS的SSO SERVER端 轻松搭建CAS 5.x系列(3)- ...
- 轻松搭建CAS 5.x系列(3)-连接数据库,使用数据库表中的帐号做登录
概要说明 前面的CAS SEVER中的登录帐号名是配置中写死的,实际情况中不太可能用这些方法.通常情况下,数据库的帐号名密码都是在数据库表中的,这样可以对登录帐号进行增删改的处理. 如果您对搭建固定帐 ...
- 轻松搭建CAS 5.x系列(9)-登录后显示通知信息
概述说明 用户在账号名密码认证通过后,CAS可以跳转到登陆完成页面前,显示相关的通知页面. 搭建步骤 `1. 首先,您需要有个CAS Server端 如果您没有,可以按照我之前写的文章<轻松搭建 ...
- 轻松搭建CAS 5.x系列(8)-在CAS Server增加双因素认证(DUO版)
概述说明 为了让系统更加安全,很多登录会加入双因素认证.何为双因素,如果把登陆作为开一扇门的话,那就是在原来的锁上再加一把锁,第二锁用新的钥匙,这样安全系数就更加高了. CAS是通过账号名和密码来认证 ...
- 轻松搭建CAS 5.x系列(7)-在CAS Server使用第三方帐号做认证
概述说明 CAS除了使用自身数据库配置的帐号体系外,也可以使用第三方帐号来做认证. 比如实现如下类似的红色标注部分的登录效果: CAS自带了Facebook.GitHub.WordPress和CAS的 ...
- 轻松搭建CAS 5.x系列(6)-在CAS Server上增加OAuth2.0协议
概述说明 CAS Server默认搭建出来,客户端程序只能按照CAS自身的协议接入.CAS的强大在于,有官方的插件,可以支持其他的协议.本章节就让CAS Server怎么增加OAuth2.0的登录协议 ...
- 轻松搭建CAS 5.x系列(5)-增加密码找回和密码修改功能
概述说明 CAS内置了密码找回和密码修改的功能: 密码找回功能是,系统会吧密码重置的连接通过邮件或短信方式发送给用户,用户点击链接后就可以重置密码,cas还支持预留密码重置的问题,只有回答对了,才可以 ...
- 轻松搭建CAS 5.x系列(4)-Java客户端程序接入CAS单点登录,Hello World版
概述说明 按照本系列的前3篇文章描述的步骤,我们已经搭建好cas sso server.那应用程序怎么接入到实现sso呢? (如果您还没有搭建cas server,可以到<轻松搭建CAS 5.x ...
- 轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端
概要说明 cas的服务端搭建有两种常用的方式: 1. 基于源码的基础上构建出来的 2. 使用WAR overlay的方式来安装 官方推荐使用第二种,配置管理方便,以后升级也容易.本文就是使用第 ...
随机推荐
- pwn学习日记Day21 《程序员的自我修养》读书笔记
Linux内核装载ELF过程 (1)bash进程调用fork()系统调用创建一个新的进程 (2)新的进程调用execve()系统调用执行指定的ELF文件,原先的bash进程继续返回等待刚才启动的新进程 ...
- Memcached与Memcache区别
在写这篇文章之前一直对memcache .memcached模糊,相差一个字母,特此总结下: Memcache是什么? Memcache是一个自由和开放源代码.高性能.分配的内存对象缓存系统.用于加速 ...
- Objective-C如何自己实现一个基于数组下标的属性访问模式
在iOS6.0以及OS X10.8之后,Apple引入了一套非正式协议(informal protocol)与Objective-C语法直接绑定.当你实现了这其中的方法之后即可使用数组下标来访问属性元 ...
- vue的路由认识
this.$router.options.routes //获得整个路由路径对象 this.$route.matched //获得当前路由的路径对象
- C++ STL 逆转旋转 reverse reverse_copy rotate
#include <iostream>#include <algorithm>#include <vector>#include <iterator> ...
- 使用 mencoder 制作幻灯片
首先安装相关依赖: sudo apt-get install mencoder sudo apt-get install imagemagick 编辑 test.sh 脚本如下: #!/bin/bas ...
- 使用sproto buff 的陷阱
当sproto协议包中的数组元素,长度为0时,会出现接收异常.在没有调试断点的情况下,会停止接收其它协议.
- QFramework 使用指南 2020 (一): 概述
大家好,我是 QFramework 的作者 凉鞋,QFramework 从第一次代码提交到现在快 5 年了,期间陆陆续续增加了很多功能,在使用体验上做了大量的改进. 而市面上关于 QFramework ...
- Hyperledger Fabric 常用命令
Peer常用命令: #peer chaincode --help #peer channel list --help --logging-level <string> #<strin ...
- 【ARM-Linux开发】Linux内存管理:ARM Memory Layout以及mmu配置
原文:Linux内存管理:ARM Memory Layout以及mmu配置 在内核进行page初始化以及mmu配置之前,首先需要知道整个memory map. 1. ARM Memory Layout ...