• 如何利用tomcat和cas实现单点登录(1):配置tomcat的ssl和部署cas


    如何利用tomcat和cas实现单点登录,借鉴了网上的很多教程,主要分为以下几个步骤:

    一:下载好cas,tomcat之后,首先配置tomcat:

    用鼠标右键点击"计算机"→选择"属性"→选择"高级系统设置"→在高级中选择"环境变量"→在系统变量中进行修改

    ①    新建CATALINA_BASE,变量值为tomcat的安装路径:

         D:Javaapache-tomcat-8.0.14-windows-x64apache-tomcat-8.0.14

    ②    新建CATALINA_HOME,变量值同上。

    ③    新建TOMCAT_HOME,变量值同上。

    ④    改ClassPath,在原来的一大串字符串后面加上:

     .;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;%CATALINA_OME%libservlet-api.jar;

    ⑤    改Path,在原来的后面字符串加上:

      ;%JAVA_HOME%in;%CATALINA_HOME%lib;%CATALINA_HOME%in;

    最后,在cmd命令行里输入startup,出现如下界面就成功了。

     

    另外,如果不按如上配置,直接点击startup也能够达到后面想要的效果。

    然后,配置tomcat以支持ssl协议(SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。):

    二:生成SSL证书

    1. 删除 %JRE_HOME%/lib/security/cacerts(不知道有什么意义。。照做),在cmd界面cd到keytool所在的文件夹。

    我的是这个:C:Program FilesJavajdk1.8.0_11in

    1. 生成证书

    keytool -genkey -alias tomcat(注释:这个是别名) -keyalg RSA(注释:这个是指定加密方法为rsa) -keystore D:Keys omcat.keystore (注释:这里表明生成一个名字是tomcat.keystore的证书)

     

    注意:1.这里输入密钥口令时是不会显示出来的;

          2.网上都强调名字与姓氏要写域名,我是本机,就写了localhost

    最后,结果如下。

     

    1. 导出证书

    在cmd界面Cd到tomcat的bin目录,我的是:D:Javaapache-tomcat-8.0.14-windows-x64apache-tomcat-8.0.14in、

    然后输入指令:

    keytool –export -alias tomcat -file D:/Java/keys/tomcat.crt -keystore D:/Java/keys/tomcat.keystore  -storepass changeit

    结果如下:

     

    1. 导入证书(这个是为客户端的JVM导入的)

    sudo keytool -import -keystore “C:Program FilesJavajre8libsecuritycacerts” -file D:/Java/keys/tomcat.crt -alias tomcat

     

    1. 应用证书到tomcat

    启用Web服务器(Tomcat)的SSL,也就是HTTPS加密协议,打开tomcat目录的conf/server.xml文件,开启83和87行的注释代码,修改如下:

     

     网上很多教程都把protocol改成了HTTP/1.1,不知道是不是版本问题,不能用了,所以这里默认就行。

    接下来,我们在浏览器里输入 hrrps:://localhost:8443就能看到自己发布的证书信息了。

    三. 部署cas

    1.CAS服务端下载:http://www.jasig.org/cas/download
    2.下载完成后将cas-server-4.0.0.zip解压
    解压后把里面的modules文件夹里的cas-server-webapp-4.0.0.war ,
    复制到目录到你的tomcat/webapp目录下,然后改名为cas。
    3.现在可以访问CAS应用了,当然要使用HTTPS加密协议访问,
    https://localhost:8443/cas/login,打开了CAS服务器的页面输入casuser/Mellon点击登录。

    注意:这只是cas自带的简单登录,帐号密码是写在配置文件中的deployerConfigContext里,primaryAuthenticationHandler这个bean里面,不是以前帐号密码输入一致就能登录了。(我在这里还以为我哪里配置错了,木了好久)

    今天先到这里,明天记录自己如何通过验证mysql数据库中帐号密码登录。

    最后,记录一下查看keytool工具的使用说明的网址:

    http://www.micmiu.com/lang/java/keytool-start-guide/

  • 相关阅读:
    Session攻击(会话劫持+固定)与防御
    console调试命令
    javascript获取当前url
    搞不清FastCgi与PHP-fpm之间是个什么样的关系
    MySQL基本语句优化10个原则
    PHP获取类名及所有函数名
    js闭包
    字段、方法、属性
    python面向对象之类成员修饰符
    实现Python代码发送邮件
  • 原文地址:https://www.cnblogs.com/HIT-LYT/p/4029069.html
Copyright © 2020-2023  润新知