Windows环境CAS 5.1.X单点登录系统配置

本文详细介绍了在Windows系统中配置CAS 5.1.X单点登录系统的步骤,包括环境准备、JDK和Tomcat的安装、CAS WAR包的编译与部署、数据库配置、域名映射、LDAP依赖以及客户端应用的单点登录测试。通过这些步骤,实现了基于HTTPS的CAS服务端与客户端的认证集成。
摘要由CSDN通过智能技术生成

1、环境准备

软件 下载地址
JDK8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Tomcat 8.5 https://tomcat.apache.org/download-80.cgi
Cas 5.1.X https://github.com/apereo/cas-overlay-template

2、配置流程
1)域名映射;
2)安装jdk并配置系统环境变量;
3)安装tomcat,创建密钥;
4)编译生成CAS war包。下载解压cas-overlay-template,在pom.xml文件中添加依赖包信息,修 改\etc\cas\config下的cas.properties文件,然后Maven编译生成cas.war;
5)部署war 包cas.war到Tomcat的\webapps\下,然后启动Tomcat实施CAS静态认证测试;
6)启动数据库服务。mysql数据,拟定数据结构,将测试数据导入数据库,启动mysql数据库服务
7)CAS认证配置。编辑\tomcat\webapps\cas\WEB-INF\classes下的application.properties文件,配置CAS,然后启动Tomcat实施CAS动态认证测试;
8)客户端应用单点登录测试。安装CAS客户端程序,在\tomcat\webapps\cas\WEB-INF\classes\services下添加JSON格式的客户端注册文件,客户端单点登录并返回用户认证的属性信息。
3、配置
3.1 域名映射
打开C:\Windows\System32\drivers\etc下的hosts文件,为本机地址127.0.0.1/localhost添加服务端域名(cas.server.org),以及两个客户端的域名(app1.client.org,app2.client.org)。
在这里插入图片描述
3.2 安装JDK 8
下载并安装JDK 8,安装完毕配置Windows系统环境变量,这样执行Java命令行工具时就不用敲全路径了:
1)新建JAVA_HOME变量,例如:C:\Program Files\Java\jdk1.8.0_112
2)在Path中添加路径:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
3)在Classpath中添加路径:.;
3.3 安装Tomcat 8.5,创建密钥

  1. 下载并安装Tomcat 8.5,安装完毕点击Tomcat \bin下的startup.bat启动Tomcat,然后在浏览器的地址栏输入http://cas.server.org:8080,显示如下Tomcat8.5页面表示安装成功,Tomcat HTTP协议的缺省端口为8080。
    在这里插入图片描述
    2)创建Tomcat服务的密钥库文件,进入C:\Program Files\Java\jdk1.8.0_112\jre\lib\security文件下,java的keytool工具命令为:
keytool -genkey -alias tomcat -keyalg RSA -validity 3650 -keystore D:\tomcat.keystore

其中:“-validity 3650”表示证书有效期10年,有效期缺省值90天;
“-alias tomcat”表示密钥库的别名是tomcat,实际操作都用别名识别,所以这个参数很重要;
下图中:“密钥库口令” 我设的是“123456”;
“名字与姓氏” 输入服务器域名 ,其他的一路回车,最后如果显示正确输入“y”就行了;
密钥口令我采用与密钥库相同,即也是“123456”,因此也是一路回车。在这里插入图片描述
之后进入D盘下,执行以下命令:keytool -list -keystore tomcat.keystore 查看生产密钥库的文件内容:
在这里插入图片描述
导出信任证书tomcat.cer,执行以下命令:keytool -export -alias tomcat -file d:/tomcat.cer -keystore d:/tomcat.keystore -validity 36500
在这里插入图片描述
将导出的信任证书tomcat.cer导入%JAVA_HOME%\jre\lib\security下的Java 运行环境证书库cacerts,证书库cacerts的缺省口令为changeit,执行一下命令:keytool -import -keystore cacerts -file d:\tomcat.cer -alias tomcat -storepass changeit
在这里插入图片描述
3)打开Tomcat8.5 文件夹下 /conf目录下的server.xml添加如下的Tomcat HTTPS协议配置信息,默认端口:8080

<Connector port="8080"
    	SSLEnabled="true" clientAuth="false" keystoreFile="d:\tomcat.keystore" 
    	keystorePass="123456" maxThreads="150" 	 protocol="org.apache.coyote.http11.Http11NioProtocol" 
    	scheme="https" secure="true" sslProtocol="TLS" connectionTimeout="20000" />

其中:clientAuth=“false” 表示单向HTTPS认证,就是服务器要向客户端出示信任证书(即:如果客户端也走HTTPS协议,只需要将tomcat信任证书导入客户端的keystore证书库中就可以了,客户端不用向服务器端出示证书)
在这里插入图片描述
4) 双击已经生产的tomcat.cer文件,将证书作为根证书导入浏览器,如果浏览器允许(火狐,任务自签名的证书不是安全证书)
在这里插入图片描述
4、MySql依赖
添加mysql数据库的依赖pom(cas-overlay-template下的pom)

    <dependencies>
        <dependency>
            <groupId>org.apereo.cas</groupId>
            <artifactId>cas-server-webapp${
   app.server}</artifactId>
            <version>${
   cas.version}</version>
            <type>war</type>
            <scope>runtime</scope>
        </dependency>

        <!--服务注册-->
        <dependency>
            <groupId>org.apereo.cas</groupId>
            <artifactId>cas-server-support-json-service-registry</artifactId>
            <version>${
   cas.version}</version>
        </dependency>

        <!--数据库认证相关 start-->
        <dependency>
            <groupId>org.apereo.cas</groupId>
            <artifactId>cas-server-support-jdbc-drivers</artifactId>
            <version>${
   cas.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apereo.cas</groupId>
            <artifactId>cas-server-support-jdbc</artifactId>
            <version>${
   cas.version}</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.6</version>
        </dependency>
        <!--数据库认证相关 end-->
    </dependencies>

   <properties>
        <cas.version>5.1.3</cas.version>
        <springboot.version>1.5.3.RELEASE</springboot.version>
        <app.server>-tomcat</app.server> 
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

5、LDAP 依赖
添加LDAP的依赖pom(cas-overlay-template下的pom)

<dependency>
        <groupId>org.apereo.cas</groupId>
        <artifactId>cas-server-support-ldap</artifactId>
        <version>${
   cas.version}</version>
    </dependency>
<properties>
    <cas.version>5.1.3</cas.version>
    <springboot.version>1.5.3.RELEASE</springboot.version>
    <app.server>-tomcat</app.server> 
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

6、配置文件etc/cas/config/cas.properties中的域名

cas.server.name: https://cas.server.org:8080
cas.server.prefix: https://cas.server.org:8080/cas/login

cas.adminPagesSecurity.ip=127\.0\.0\.1

logging.config: file:/etc/cas/config/log4j2.xml

#客户端连接的话把注释去掉
#cas.serviceRegistry.config.location: classpath:/services

在这里插入图片描述
7、客户端应用单点登录
客户端连接服务端,服务端需要修改两个地方:
1)cas.properties 文件中
“#cas.serviceRegistry.config.location: classpath:/services”需要去掉注释。
2)将此文件创建cas-overlay-template-master\src\main\resources\services目录下

{
   
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^(https
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值