单点登录

                                                CAS单点登录

1、       环境

Windows7、tomcat7、jdk8

 

配置host文件:

127.0.0.1 hxy.hxyframe.com

2、       下载

a)      服务端:http://developer.jasig.org/cas/

 

3、       创建证书

keytool-genkey -alias ktc -keyalg RSA -keysize 2048 -keypass 123456 -storepass 123456  -validity 36500 -keystore/usr/local/casTomcat8/conf/ktc.keystore -dname "CN=ktc.hxyframe.com,OU=ktc.com,O=ktc,L=ShenZhen,ST=ShenZhen,C=CN"

注意:别名密码什么的都可以改,需要指出的是:

 -validity 36500:有效期100(可不加,默认为90)

CN= ktc.hxyframe.com这段内容,后边配置客户端的时候需要用到,一定要确保能通过这个域名访问到你的CAS服务端。

并且不能使用IP作为域(上文的CN),使用IP虽然可以生成keystore,但是在客户端使用的时候,如果服务端地址配置成IP会报错。

 

【说明】:-alias后面的别名可以自定义,-keypass指定证书密钥库的密码, -storepass和前面keypass密码相同,否则下面tomcat 配置https 会访问失败 -keystore指定证书的位置,这里指定放在Dkeys目录,密钥库名称可以自定义,这里是tanlijun.keystore 3. 命令输入完成,

 

查看证书命令:(下面命令为查看cas的证书)

keytool -list -v -alias ktc -keystore 

"C:/Program Files/Java/jdk1.8.0_91/jre/lib/security/cacerts" -storepass changeit

删除证书命令:(下面命令为删除cas的证书)

keytool -delete -alias ktc  -keystore 

"C:/Program Files/Java/jdk1.8.0_91/jre/lib/security/cacerts" -storepass changeit 

 

如果是生产环境,需要去网上购买证书,网址:http://www.verisign.com/cn/

4、导出证书

keytool -export -file /usr/local/casTomcat8/conf/ktc.crt-alias ktc -keystore /usr/local/casTomcat8/conf/ktc.keystore

输入密码,完成导出

【说明】:-alias后面的名称要与生成证书的命令里面的alias的名称一致. –keystore后面指定证书存放的位置,这里我放在Dkeys目录,同时证书名称要与【生成证书】对应的命令里的keystore名称一致.这里是tanlijun.keystore-file后面才crt路径,我也指定在Dkeys目录. –storepass的证书密码要与上面输入的密码一致.

 

5、将证书导入到jre中(cas客户端,本地是windows)

keytool -import -alias ktc -keystore "C:/Program Files/Java/jdk1.8.0_91/jre/lib/security/cacerts"-file "D:/keys/ktc.crt" -trustcacerts

 

出现以上信息,则表示证书导入成功。如果显示密码错误时,可以使用默认密码:changeit

 

7、配置tomcat

         打开tomcat的配置文件service.xml。找到8443端口,去掉注释,配置Connector属性。如下所示:

 

<Connector port="8443"protocol="HTTP/1.1"

              maxThreads="150" SSLEnabled="true"scheme="https" secure="true"

               keystoreFile="conf/ktc.keystore"keystorePass="123456" clientAuth="false"sslProtocol="TLS"

               ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,

               TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,

               TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,

               TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,

               TLS_ECDHE_RSA_WITH_RC4_128_SHA,

               TLS_RSA_WITH_AES_128_CBC_SHA256,

               TLS_RSA_WITH_AES_128_CBC_SHA,

               TLS_RSA_WITH_AES_256_CBC_SHA256,

               TLS_RSA_WITH_AES_256_CBC_SHA,

               SSL_RSA_WITH_RC4_128_SHA">

 

   </Connector>

 

不配置ciphers的话,浏览器会报协议错误。

其中,keystoreFile就是创建证书的路径,keystorePass就是创建证书的密码。启动,测试:https://localhost:8443/

 

8、部署服务端

将hxyFrame的frame-casServer 部署到tomcat中,以cas命名作为访问路径。

 

数据库连接配置:

在WEB-INF下面找到cas.properties文件,打开文件,设置jdbc信息:(此处可以设置多方sql或nosql中间件,前提是该功能)

 

启动tomcat。访问https://hxy.hxyframe.com:8443/cas/login登录。使用数据库中的用户名和密码登录。

9、普通方式部署client端

创建2个client端:

cas_client1:http://127.0.0.1:8085/casClient1

cas_client2: http://127.0.0.1:8086/casClient2

普通方式的cas配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <!-- 用于实现单点登出功能  可选-->
    <listener>
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值