cas单点登录(sso)简单Demo

本文提供了一步步的CAS单点登录(SSO)搭建指南,包括环境配置、JDK安装、安全证书配置、CAS Server和Client的部署以及测试验证。详细解释了如何在Windows环境下配置多个Tomcat实例,实现单点登录和注销功能。
摘要由CSDN通过智能技术生成

本文目录:

  • 一、概述
  • 二、演示环境及host文件配置,tomcat端口号修改。
  • 三、JDK安装配置
  • 四、安全证书配置
  • 五、部署CAS-Server相关的Tomcat
  • 六、部署CAS-Client相关的Tomcat
  • 七、 测试验证SSO

一、概述

公司要求做一个单点登录,所以在网上学习制作了一个cas的小例子,方便以后查看。

CAS的官网:http://www.jasig.org/cas

二、演示环境

本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下:

  • windows7 64位,主机名称:michael-pc
  • JDK 1.6.0_18
  • Tomcat 6.0.29
  • CAS-server-3.4.11、CAS-client-3.2.1
host配置域名解析

根据演示需求, 用修改hosts 文件的方法添加域名最简单方便(这个非常重要),在文件 C:\Windows\System32\drivers\etc\hosts 文件中添加三条

  • server.zyz.com  =>> 对应部署cas server的tomcat,这个虚拟域名还用于证书生成
  • client1.zyz.com =>>  对应部署服务工程 的tomcat
  • client2.zyz.com   =>> 对应部署服务工程的tomcat
配置域名解析只是为了看起来方便。如果图省事儿可以不配置,url中只需用localhost代替是一样的作用。

tomcat修改端口号

由于需要demo需要三个tomcat分别部署cas-server,service1,service2,所有将tomcat分别配置为端口号8080,8081,8082
修改tomcat的启动端口(5处标红地方需要修改),在文件conf/server.xml文件找到如下内容
<Server port="18005" shutdown="SHUTDOWN">  
<Connector port="8082" protocol="HTTP/1.1"   
   connectionTimeout="20000"   
   redirectPort="18443" />  

<Connector port="18009" protocol="AJP/1.3" redirectPort="18443" />  

三、JDK安装配置

因为cas是java框架,需要在JVM中运行,所以需要配置安装和配置JDK。jdk安装过程不再赘述。

我使用的jdk版本是1.8.0


四、安全证书配置

CAS默认使用的是HTTPS协议,如果对安全要求不高,可使用HTTP协议。下面分别介绍使用http协议和使用https协议的配置。

1.使用http协议。

  修改deployerConfigContext.xml (cas/WEB-INF)增加参数p:requireSecure="false",是否需要安全验证,即HTTPS,false为不采用。

[html]  view plain   copy
  print ?
  1. <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient"   
  2. p:requireSecure="false" />  
     修改 ticketGrantingTicketCookieGenerator.xml(cas/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml) 中ticketGrantingTicketCookieGenerator p:cookieSecure 属性修改为 false。


[html]  view plain   copy
  print ?
  1. <bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"  
  2. :cookieSecure="false" p:cookieMaxAge="-1" p:cookieName="CASTGC" p:cookiePath="/cas" />  
2.使用https协议。

使用https协议需要生成证书:

有关keytool工具的详细运用见:http://www.micmiu.com/lang/java/keytool-start-guide/

4.1. 生成证书:


ps:

  • 截图中需要输入的姓名和上面hosts文件中配置的一致;
  • keypass 和 storepass 两个密码要一致,否则下面tomcat 配置https 访问失败;

4.2.导出证书:

4.3.客户端导入证书:

ps:该命令中输入的密码和上面输入的不是同一个密码;如果是多台机器演示,需要在每一台客户端导入该证书

五、部署CAS-Server相关的Tomcat

5.1. 配置HTTPS

解压apache-tomcat-6.0.29.tar.gz并重命名后的路径为 G:\sso\tomcat-cas,在文件 conf/server.xml文件找到:

修改成如下:

参数说明:

  • keystoreFile 就是4.1中创建证书的路径
  • keystorePass 就是4.1中创建证书的密码

5.2. 验证HTTPS配置
其他按照默认配置不作修改,双击%TOMCAT_HOME%\bin\startup.bat 启动tomcat-cas 验证https访问配置:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值