如何利用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. 前台发送字符串给后台,格式为(a,b,c,d),后台将字符串转换成数组遍历后进而更新CheckId

    using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Configuration; u ...

  2. Android M新特性之APP Link

    The Android M Developer Preview introduces support for App Links, which improves upon existing link ...

  3. JVM-字节码执行引擎

    虚拟机字节码执行引擎 一.运行时栈帧结构 1.栈帧(Stack Frame)是用于支持虚拟机进行调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈(Virtual Method Stack) ...

  4. sqlserver数据库学习(-)数据类型

    ecimal 数据类型最多可存储 38 个数字,所有数字都能够放到小数点的右边.decimal 数据类型存储了一个准确(精确)的数字表达法:不存储值的近似值. 定义 decimal 的列.变量和参数的 ...

  5. JS rem 设置

    (function () { var docEl = document.documentElement; var resize = 'orientationchange' in window ? 'o ...

  6. 数据交互 ajax 初始化省

    1 //初始化省 2 function initProvince() { 3 if( areaLvel == 0 ) { 4 return; 5 } 6 // 清空option 7 $("# ...

  7. 在MAC OS X上如何启用crontab?

    project: blog target: how-to-enable-crontab-on-osx.md date: 2015-12-16 status: publish tags: - OS X ...

  8. github常见操作和常见错误!错误提示:fatal: remote origin already exists.

    如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote ...

  9. 算法(第4版)-1.3.1 API

    总结:本小节介绍了泛型.自动装箱.迭代.Bag.Queue.Stack以及一个栈用例的经典例子--算术表达式求值. 重点: 1. 集合类的抽象数据类型的一个关键特性是我们应该可以用它们储存任意类型的数 ...

  10. iOS运行时与method swizzling

    C语言是静态语言,它的工作方式是通过函数调用,这样在编译时我们就已经确定程序如何运行的.而Objective-C是动态语言,它并非通过调用类的方 法来执行功能,而是给对象发送消息,对象在接收到消息之后 ...