CAS 之3.x版本,单点登录服务搭建(Window)-yellowcong

来源:互联网 发布:java集合类三大体系 编辑:程序博客网 时间:2024/06/06 12:55

这个地方先确认一下,这个是3,5版本的cas,Cas认证服务实现单点登录,首先是证书的配置,第二步是tomcat的数据库配置,第三步骤是客户端调用,这一部分分开写。

证书

生成证书

#生成证书保存到D盘的keystorekeytool -genkey -alias tomcat -keyalg RSA -keystore D:/keystore#生成证书的时候,记住cas的域名必须保持一致

这里写图片描述

在D盘多出了一个证书文件
这里写图片描述

导出证书

#到处证书tomcat.cer,证书生成在 D盘keytool -export -trustcacerts -alias tomcat -file D:/tomcat.cer -keystore D:/keystore

这里写图片描述
证书现在已经存在于D盘了
这里写图片描述

导入证书到jdk

#将证书导入到jdk的目录keytool -import -trustcacerts -alias tomcat -file D:/tomcat.cer -keystore "D:/Program Files/Java/jdk1.8.0_151/jre/lib/security/cacerts"

导入证书到jdk,输入确认命令的时候,是y不是yes
这里写图片描述

导入成功后
这里写图片描述

查看证书

#查看jdk目录下的证书keytool -list -v -keystore  "D:/Program Files/Java/jdk1.8.0_151/jre/lib/security/cacerts"

这里写图片描述

Tomcat整合

添加证书到tomcat

修改tomcat的server.xml,配置8443端口

<!--设定http/1.1协议 还有配置keystore的位置和密码--><Connector port="8443" protocol="HTTP/1.1"                 minSpareThreads="5" maxSpareThreads="75"                   enableLookups="true" disableUploadTimeout="true"                     acceptCount="100"  maxThreads="200"                   scheme="https" secure="true" SSLEnabled="true"                   clientAuth="false" sslProtocol="TLS"                   keystoreFile="D:/keystore"                     keystorePass="yellowcong"/>

这里写图片描述

修改本机hosts

添加域名到本机

#修改文件C:\Windows\System32\drivers\etc\hosts#添加一条记录127.0.0.1           yellowcong.com

这里写图片描述

测试

注意访问的时候,使用的是https协议

#访问本机的8443端口https://127.0.0.1:8443/#域名访问https://yellowcong.com:8443/

修改为https访问后正常
这里写图片描述

域名访问
这里写图片描述

服务端安装

#管网下载地址wget https://github.com/apereo/cas/releases/download/v3.5.0/cas-server-3.5.0-release.zip#版本下载https://github.com/apereo/cas/releases/tag/v3.5.0#我个人的下载点地址 modules 目录有war包wget http://yellowcong.qiniudn.com/cas-server-3.5.0-release.zip#modules目录有war包http://yellowcong.qiniudn.com/cas-server-3.4.3.1-release.zip#解压到tomcat的webapp目录#启动服务(原谅我linux脚本写多了,。。。)start.bat

这里写图片描述

登录测试

登录
这里写图片描述

登录成功
这里写图片描述

设定密码登录

#mysql的jdbc下载地址http://yellowcong.qiniudn.com/mysql-connector-java-5.1.21.jar#导入mysql驱动和cas-server-support-jdbcmysql-connector-java-5.1.21.jarcas-server-support-jdbc-3.5.0.jar#配置deployerConfigContext.xml<!--数据源--><bean id="casDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">     <property name="driverClassName">         <value>com.mysql.jdbc.Driver</value>     </property>     <property name="url">         <value>jdbc:mysql://localhost:3306/yellowcong</value>     </property>     <property name="username">         <value>root</value>     </property>     <property name="password">         <value>root</value>     </property>  </bean><!--MD5加密密码--><bean id="passwordEncoder"  class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" >        <constructor-arg name="encodingAlgorithm" value="MD5"/>        <property name="characterEncoding" value="UTF-8"/>    </bean><!--注释掉原来的,添加数据库密码验证--> <bean id="primaryAuthenticationHandler"                      class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">       <property name="dataSource" ref="casDataSource" />       <!--SELECT PASSWORD FROM yellowcong_users WHERE user_name ='yellowcong'-->     <property name="sql" value="SELECT PASSWORD FROM yellowcong_users WHERE user_name =?" />       <!--如果不想要加密,可以不用添加下面的配置-->        <property name="passwordEncoder" ref="passwordEncoder" />   </bean> 

导入jar包
这里写图片描述

修改deployerConfigContext.xml
这里写图片描述

添加数据源,md5加密和密码验证方式
这里写图片描述

数据库创建脚本

-- 删除数据库,如果存在这个数据库DROP DATABASE IF EXISTS yellowcong;-- 创建数据库CREATE DATABASE yellowcong;-- 使用数据库USE yellowcong;-- 创建表CREATE TABLE `yellowcong_users` (  `id` INT(11) NOT NULL AUTO_INCREMENT,  `age` INT(11) DEFAULT NULL,  `nick_name` VARCHAR(32) DEFAULT NULL,  `password` VARCHAR(32) DEFAULT NULL,  `user_name` VARCHAR(32) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=INNODB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;-- 插入数据INSERT INTO yellowcong_users  (id, age, nick_name, PASSWORD, user_name)VALUES  -- 4748f3d238406505bd50e5accc3a8aa2  这个是 doubi 的md5码  (1, 12, 'yellowocng', '4748f3d238406505bd50e5accc3a8aa2', 'yellowcong'),  (12, 1314, 'doubi', '4748f3d238406505bd50e5accc3a8aa2', 'test'),  (13, 1314, 'doubi', '4748f3d238406505bd50e5accc3a8aa2', 'test2'),  (14, NULL, NULL, 'doubi', 'doubi');

登录验证

这里写图片描述

登录成功
这里写图片描述

客户端

http://developer.jasig.org/cas-clients/#客户端http://developer.jasig.org/cas-clients/cas-client-3.3.3-release.zip#个人下载地址http://yellowcong.qiniudn.com/cas-client-3.3.3-release.zip

问题合集

8443端口乱码

这个大家可能忘记了,这个是8443所以需要使用https进行访问,所以导致乱码了
这里写图片描述

修改为https访问后正常
这里写图片描述

参考文章

http://blog.csdn.net/jinrizk/article/details/45059341
http://blog.csdn.net/he90227/article/details/52370236

原创粉丝点击