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

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

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

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

D:\Java\apache-tomcat-8.0.14-windows-x64\apache-tomcat-8.0.14

②    新建CATALINA_HOME,变量值同上。

③    新建TOMCAT_HOME,变量值同上。

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

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_OME%\lib\servlet-api.jar;

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

;%JAVA_HOME%\bin;%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;

最后,在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 Files\Java\jdk1.8.0_11\bin

  1. 生成证书

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

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

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

最后,结果如下。

  1. 导出证书

在cmd界面Cd到tomcat的bin目录,我的是:D:\Java\apache-tomcat-8.0.14-windows-x64\apache-tomcat-8.0.14\bin、

然后输入指令:

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 Files\Java\jre8\lib\security\cacerts” -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/

如何利用tomcat和cas实现单点登录(1):配置tomcat的ssl和部署cas的更多相关文章

  1. 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置

    接(1),上一篇主要讲述了tomcat和cas server端的部署. 接下来主要还有两个步骤. 注意:为了开启两个tomcat,要把直接配置的tomcat的环境变量取消!!!!!!!!!! 客户端配 ...

  2. CAS实现单点登录SSO执行原理及部署

    一.不落俗套的开始 1.背景介绍 单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. CAS框架:CAS(Centra ...

  3. Cas(07)——建立使用Cas进行单点登录的应用

    建立使用Cas进行单点登录的应用 目录 1.1加入cas-client-core-xxx.jar到classpath 1.2配置Filter 1.2.1AuthenticationFilter 1.2 ...

  4. CAS实现单点登录

    1.简介 SSO单点登录 在多个相互信任的系统中,用户只需要登录一次就可以访问其他受信任的系统. 新浪微博与新浪博客是相互信任的应用系统. *当用户首次访问新浪微博时,新浪微博识别到用户未登录,将请求 ...

  5. [精华][推荐]CAS SSO单点登录服务端客户端实例

    1.修改server.xml文件,如下: 注意: 这里使用的是https的认证方式,需要将这个配置放开,并做如下修改: <Connector port="8443" prot ...

  6. Spring Security 集成CAS实现单点登录

    参考:http://elim.iteye.com/blog/2270446 众所周知,Cas是对单点登录的一种实现.本文假设读者已经了解了Cas的原理及其使用,这些内容在本文将不会讨论.Cas有Ser ...

  7. spring security集成cas实现单点登录

    spring security集成cas 0.配置本地ssl连接 操作记录如下: =====================1.创建证书文件thekeystore ,并导出为thekeystore.c ...

  8. CAS单点登录相关配置

    一.CAS单点登录服务端的部署 部署 把CAS所对应的war包部署到tomcat中 4.品优购资源V1.3\配套软件\配套软件\CAS\cas.war 配置 更改tomcat的端口号 <Conn ...

  9. CAS实现单点登录流程

    CAS实现单点登录 环境 客户端: www.app1.com CAS服务器: www.cas-server.com 1.浏览器:发起请求 www.app1.com 2. 客户端:Authenticat ...

随机推荐

  1. linux下各种软件的安装过程

    //////知识储备//////////////////////////////////////////////////////////////////// /var 下存放着服务和经常改变的文件 / ...

  2. Java read txt file

    package com.Yang; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;i ...

  3. Win10/UWP新特性系列-GetPublisherCacheFolder

    微软Windows Runtime App拥有很强的安全模型来防止不同App之间的数据获取和共享,也就是我们所说的"沙盒机制",每个App都运行在Windows沙盒中,App之间的 ...

  4. 传智播客JavaWeb day03

    ServletContext 这堂课主要讲ServletContext这个web域(可以看得见范围的)对象,web在启动的时候会创建唯一的ServletContext域对象. 作用:1.用来web域共 ...

  5. 12-16php测试题

    2. 以下哪个SQL语句是正确的( d )A:insert into users ('p001','张三','男'); B:create table (Code int primary key); C ...

  6. Intent 四个重要属性

    Intent作为联系各Activity之间的纽带,其作用并不仅仅只限于简单的数据传递.通过其自带的属性,其实可以方便的完成很多较为复杂的操作.例如直接调用拨号功能.直接自动调用合适的程序打开不同类型的 ...

  7. 基于GRPC+consul通信的服务化框架(转)

    原文:http://blog.csdn.net/yeyincai/article/details/51470475 -.背景 谈论服务化框架的时候,我们首先先了解这些概念:SOA.ESB.OSGi.s ...

  8. IPC-管道

    内容提要: 管道简介 使用无名管道实现一个简单的本地文件服务器 使用标准I/O函数库提供的管道实现 使用popen实现本地文件服务器 有名管道-FIFO 使用FIFO改写本地文件服务器 管道和FIFO ...

  9. (实用篇)PHP中unset,array_splice删除数组中元素的区别

    php中删除数组元素是非常的简单的,但有时删除数组需要对索引进行一些排序要求我们会使用到相关的函数,这里我们来介绍使用unset,array_splice删除数组中的元素区别吧 如果要在某个数组中删除 ...

  10. 【学习笔记】Oracle-1.安装及配置

    Win7旗舰版安装Oracle_11gR1_database:  http://my.oschina.net/laiwanshan/blog/89951 Oracle用户登陆 sqlplus sys/ ...