(一)部署CAS-Server

SpringBoot自定义单点登录插件

http://www.51ufo.cn/%E5%BE%AE%E6%9C%8D%E5%8A%A1/2020/01/06/SpringBoot%E8%87%AA%E5%AE%9A%E4%B9%89%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%E6%8F%92%E4%BB%B6.html

一、概述

此文的目的就是为了帮助初步接触SSO和CAS的人员提供一个入门指南,一步一步演示如何实现基于CAS的单点登录。

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

二、演示环境

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

  • windows732位
  • JDK 1.6.0_18
  • Tomcat 6.0.29
  • CAS-server-3.4.11、CAS-client-3.2.1

根据演示需求,用修改hosts 文件的方法添加域名,在文件 C:\Windows\System32\drivers\etc\hosts 文件中添加三条

127.0.0.1    demo.tch.com
127.0.0.1    app1.tch.com
127.0.0.1    app2.tch.com

  • demo.tch.com  =>>对应部署cas server的tomcat,这个虚拟域名还用于证书生成
  • app1.tch.com  =>>  对应部署app1的tomcat
  • app2.tch.com   =>>对应部署app2的tomcat

 

三、JDK安装配置

因为cas是java框架,需要在JVM中运行,所以需要配置安装和配置JDK。可参考娟姐博客

Win7下配置"JAVA环境变量"

 

 

四、安全证书配置

 

CAS默认使用的是HTTPS协议,如果对安全要求不高,可使用HTTP协议。
      修改deployerConfigContext.xml  增加参数p:requireSecure="false",是否需要安全验证,即HTTPS,false为不采用。
       p:requireSecure="false" />

 

       修改ticketGrantingTicketCookieGenerator.xml(cas/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml) 中ticketGrantingTicketCookieGenerator p:cookieSecure 属性 修改为 false。 
       p:cookieSecure="false" p:cookieMaxAge="-1"p:cookieName="CASTGC" p:cookiePath="/cas" /> 

 

使用HTTPS协议,步骤如下:

4.1. 生成证书:

keytool-genkey -alias ssodemo -keyalg RSA -keysize 1024 -keypass 123456 -validity 365-keystore F:\Study\Java\Projects\SSO\Demo\keys\ssodemo.keystore -storepass123456

 

ps:

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

 

4.2.导出证书:

keytool-export -alias ssodemo -keystoreF:\Study\Java\Projects\SSO\Demo\keys\ssodemo.keystore -fileF:\Study\Java\Projects\SSO\Demo\keys\ssodemo.crt -storepass 123456

 

4.3.客户端导入证书:

keytool-import -keystore E:\Environment\java\Java1.6\jre\lib\security\cacerts -fileF:\Study\Java\Projects\SSO\Demo\keys\ssodemo.crt -alias ssodemo

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

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

 

 

五、部署CAS-Server相关的Tomcat

5.1.配置HTTPS

解压apache-tomcat-6.0.29.tar.gz并重命名后的路径为F:\Study\Java\Projects\SSO\Demo\tomcat-cas,在文件 conf/server.xml文件找到:

 

修改成如下:

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

  keystoreFile="F:/Study/Java/Projects/SSO/Demo/keys/ssodemo.keystore"keystorePass="123456"

  clientAuth="false" sslProtocol="TLS"URIEncoding="UTF-8"/>

参数说明:

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

 

5.2.验证HTTPS配置

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

 

如果看到上述界面表示https访问配置成功。

 

5.3部署CAS-Server

CAS-Server下载地址:http://www.jasig.org/cas/download

本文以cas-server-3.4.11-release.zip为例,解压提取cas-server-3.4.11/modules/cas-server-webapp-3.4.11.war文件,把改文件copy到 G:\sso\tomcat-cas\webapps\目下,并重命名为:cas.war.

启动tomcat-cas,在浏览器地址栏输入:https://demo.tch.com:8443/cas/login ,回车

CAS-server的默认验证规则:只要用户名和密码相同就认证通过(仅仅用于测试,生成环境需要根据实际情况修改),输入admin/admin 点击登录,就可以看到登录成功的页面:

看到上述页面表示CAS-Server已经部署成功。

 

 

CAS默认使用的是HTTPS协议,如果对安全要求不高,可使用HTTP协议。

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

 

 

修改 ticketGrantingTicketCookieGenerator.xml (cas/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml) 中 ticketGrantingTicketCookieGenerator p:cookieSecure 属性 修改为 false。

p:cookieSecure="false" p:cookieMaxAge="-1" p:cookieName="CASTGC" p:cookiePath="/cas" />

你可能感兴趣的:((一)部署CAS-Server)