搭建Jasig CAS中央认证服务实现单点登录——搭建Tomcat并实现SSL安全连接
预期的工作任务: 实现CAS(CAS采用Jasig CAS)单点登录搭建,开发api以实现java、php、.net等单点登录接口;实现数据库、LDAP身份认证对接。
(一)平台(Linux和Windows都能实现):
1.Windows Server 2008 R2(Windows 2000以上即可),用于承载Tomcat和其他开发环境,如数据库等(设置为服务器的IP是172.16.201.207);
2.Linux(安装有Openssl,一般都安装),用于后期配置证书,如导出pem证书格式(设置为root@172.16.202.106,以后不再注释);
(二)先决条件:
使用的是当前官方发布的最新稳定版本
1.需要JDK(官方推荐,实际上搭建过程中没有用到)
http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jdk-7u17-windows-x64.exe
2.需要JRE(bin目录下有keytool工具,用于实现颁发证书)
http://download.oracle.com/otn-pub/java/jdk/7u17-b02/jre-7u17-windows-x64.exe
下载JDK和JRE需要注册Oracle账户
3.需要Tomcat
http://apache.dataguru.cn/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39-windows-x64.zip
4.需要CAS安装包,cas-server-3.4.10-release.zip这个包不是很好下载,可能是防火墙的原因。但是找到下载地址用下载工具能下载的到。
http://downloads.jasig.org/cas/cas-server-3.4.10-release.zip
5.部署指南(可选)
(三)启动Tomcat前需要设置环境变量(参考但不按照Tomcat包中的指导文件(./RUNNING.txt)进行配置)
###按照指导文件进行的操作
set "CATALINA_HOME=C:\inetpub\apache-tomcat-7.0.39"
###不要执行下面一行,Tomcat包中的指导文件(./RUNNING.txt)有错误。
# set "CATALINA_BASE=C:\inetpub\apache-tomcat-7.0.39\conf"
set "JRE_HOME=C:\Program Files\Java\jre7"
set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_17"
###修正以后的操作
cd C:\inetpub\apache-tomcat-7.0.39\bin
set "CATALINA_HOME=C:\inetpub\apache-tomcat-7.0.39"
set "JRE_HOME=C:\Program Files\Java\jre7"
set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_17"
catalina.bat run
现在Tomcat就可以运行了
(四)配置Tomcat使之能使用SSL实现加密的安全的连接
cd C:\Program Files\Java\jre7\bin\
###密码是YourPassword
keytool -genkey -alias cask -keyalg RSA -keystore c:\cas_key
###密码是YourPassword
keytool -export -file c:\casrv.crt -alias cask -keystore c:\cas_key
###密码是changeit,此密码是Tomcat包中cacerts文件需要的默认密码
keytool -import -keystore "C:\Program Files\Java\jre7\lib\security\cacerts" -file c:\casrv.crt -alias cask
根据命令行中给出的提示修正问题
###Caused by: java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR
###修改85行,参考注释,添加如下内容
Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="c:/cas_key" keystorePass="YourPassword" SSLCertificateFile="c:/casrv.crt" SSLCertificateKeyFile="C:/cas_key.pem"
### 为server.xml文件配置证书
### “ ”表示在Windows运行,“#”表示在Linux下运行
keytool -importkeystore -srckeystore c:\cas_key -destkeystore c:\cas_key.p12 -deststoretype PKCS12
pscp c:/cas_key.p12 root@172.16.202.106:/tmp
### Tomcat的APR 模块需要用到.pem文件
#openssl pkcs12 -in cas_key.p12 -out cas_key.pem -nodes
pscp root@172.16.202.106:/tmp/cas_key.pem c:/cas_key.pem
### 再次重新启动Tomcat,完成Tomcat的HTTPS配置
将cas-server-3.4.10-release.zip解压后得到的cas-server-3.4.10\modules\cas-server-webapp-3.4.10.war文件复制到C:\inetpub\apache-tomcat-7.0.39\webapps\cas.war和更改Apache一样,每次更改目录和配置文件都需要重新启动Tomcat。
在浏览器中输入https://localhost:8443/cas即可访问CAS主页。
相关图片见附件1和附件2,
其他指导手册(CAS单点登录实例详细步骤.pdf)下载,见附件3.
后期会继续提供的CAS的相关开发文章。
本文出自 “通信,我的最爱” 博客,请务必保留此出处http://dgd2010.blog.51cto.com/1539422/1167444
SpringBoot集成Tomcat服务 基于SpringBoot的版本,Tomcat集成的是9.0版本,参考Tomcat核心组件描述,对于框架有大致的了解后,再去分析集成原理,会更容易把握主线逻辑;
相关文章
- centOS7 tomcat 开机自启 自启动设置
- IDEA跑Tomcat异常
- 大叔经验分享(66)docker启动tomcat不输出catalina.out
- 性能测试:监控web服务器--Tomcat
- SpringBoot工程通过war包方式部署到外部Tomcat容器的操作步骤
- 访问 远程 tomcat 的管理页面 /manager/html 提示 403 的具体解决操作
- 从零开始手写Tomcat的教程6节----生命周期
- 淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.鏈嶅姟鍣ㄧ増鏈�: Apache Tomcat/8.5.
- Tomcat 内核如何阻塞与唤醒进程?
- 2022国赛26:Tomcat服务和nginx 服务题完美分解