CAS4.0 server 环境的搭建

一:不需https访问环境搭建

1、上cas的官网下载cas server 官网地址:https://github.com/Jasig/cas/releases,下载好后

    解压下载的 cas-server-4.0.0-release.zip 压缩包,把cas-server-4.0.0\modules\cas-server-webapp-4.0.0.war

     重命名为cas.war


也可以到http://download.csdn.net/download/zangguangtian/10271027下载,下载号后

解压下载的 casServer-4.0.0.zip压缩包,把casServer4.0.0\modules\cas-server-webapp-4.0.0.war

     重命名为cas.war


2、cas.war 放到tomcat的webapps目录下

3、CAS 默认认证方式使用的是HTTPS协议,一般对安全性不高的话建议取消改成HTTP方式。开启的话会经常提示证书过期、需要用户确认等,对客户的感知不好,当前有需要的可以开启

取消HTTPS协议

webapps\cas\WEB-INF\spring-configuration\warnCookieGenerator.xml ,找到如下配置

复制代码
<bean id="warnCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
        p:cookieSecure="true"
        p:cookieMaxAge="-1"
        p:cookieName="CASPRIVACY"
        p:cookiePath="/cas"/>
修改  p:cookieSecure="true" 为 p:cookieSecure="false"
复制代码

webapps\cas\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml ,找到如下配置

复制代码
<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
        p:cookieSecure="true"
        p:cookieMaxAge="-1"
        p:cookieName="CASTGC"
        p:cookiePath="/cas"/>

修改  p:cookieSecure="true" 为 p:cookieSecure="false"
复制代码

webapps\cas\WEB-INF\deployerConfigContext.xml 文件 ,找到如下配置:

复制代码
<bean id="proxyAuthenticationHandler" 
class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
          p:httpClient-ref="httpClient"/>

增加p:requireSecure="false"即HTTPS为不采用。
修改后为:

  <bean id="proxyAuthenticationHandler"
class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
          p:httpClient-ref="httpClient" p:requireSecure="false"/>
复制代码

4、启动tomcat ,访问  http://localhost:8085/cas  则可以看到登陆界面,4.0 之后默认是配置在 deployerConfigContext.xml 配置文件中,可以看到用户名密码为 casuser/Mellon


二:配置https登录

1、生成证书

1.1   运行CMD

C:\Users\Administrator>keytool -genkey -alias tomcat -keyalg RSA -keypass change
it -storepass changeit -keystore server.keystore -validity 3000

您的名字与姓氏是什么?
  [Unknown]:  COCO                                                              //计算机名或者域名,我是计算机名为例
您的组织单位名称是什么?
  [Unknown]:回车
您的组织名称是什么?
  [Unknown]:回车
您所在的城市或区域名称是什么?
  [Unknown]:回车
您所在的州或省份名称是什么?
  [Unknown]:回车
该单位的两字母国家代码是什么
  [Unknown]:  ZH
CN=COCO, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=ZH 正确吗?
  [否]:  y




1.2  导出证书


C:\Users\Administrator>keytool -export -trustcacerts -alias tomcat -file cas.cer
 -keystore  server.keystore -storepass changeit

保存在文件中的认证 <cas.cer>

生成证书的默认目录 (win7/win8):C:\Users\Administrator  \ cas.cer  和 C:\Users\Administrator  \server.keystore


1.3  客户端导入证书

C:\Users\Administrator>keytool -import -keystore D:\Java\jdk1.6.0\jre\lib\securi
ty\cacerts -file C:/Users/Administrator/cas.cer -alias client

输入keystore密码:changeit
再次输入新密码:changeit
所有者:CN=www.coco.com, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=ZH
签发人:CN=www.coco.com, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=ZH
序列号:53fc2ad2
有效期: Tue Aug 26 14:36:02 CST 2014 至Sat Nov 12 14:36:02 CST 2022
证书指纹:
         MD5:14:3C:A9:BA:BB:0C:85:7C:94:9D:0F:6A:51:EF:A5:A8
         SHA1:F2:42:D4:A5:95:97:8D:78:32:C1:4F:40:AF:80:BA:BE:8C:00:4F:73
         签名算法名称:SHA1withRSA
         版本: 3
信任这个认证? [否]:  y
认证已添加至keystore中

这时 jdk1.6.0\jre\lib\security 目录 会生成一个cacerts 文件。


1.4 配置CAS服务器

替换 tomcat /conf/server.xml 里面的 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  这对标签的内容。


[html]  view plain  copy
  1. <Connector className="org.apache.coyote.tomcat6.CoyoteConnector"   
  2.                          port="8443" minProcessors="5"  
  3.                          maxProcessors="75" enableLookups="true"  
  4.                          acceptCount="100"  
  5.                          protocol="HTTP/1.1" SSLEnabled="true"  
  6.                maxThreads="150" scheme="https" secure="true"  
  7.                clientAuth="false" sslProtocol="TLS"   
  8.                keystoreFile="C:/Users/Administrator/server.keystore"  
  9.                keystorePass="changeit" />  


2、验证服务端是否配置正确


 2.1 cas-server-4.0.0-release 官网下载 https://www.apereo.org/cas/download,解压后将cas-server-4.0.0-release\cas-server-4.0.0\modules\cas-server-webapp-4.0.0.war

复制到apache-tomcat-6.0.41\webapps下面重命名为cas.war ,也可以不用重命名。


2.2 启动Tomcat 无报错后,浏览 https://localhost:8443/cas/login   以默认用户名:casuser,密码:Mellon  登陆。

  注:cas-server-4.0.0-release 默认的验证规则 不再是以用户名和密码相同就通过了,而是由

cas-server-4.0.0-release\cas-server-4.0.0\cas-server-webapp\src\main\webapp\WEB-INF\deployerConfigContext.xml的 <entry key="casuser" value="Mellon"/> 的key-value为用户名和密码。





2.3  注销    https://localhost:8443/cas/logout



2.4  问题

   虽然以 http://localhost:8080/cas/login 也可以登陆,是没有https 安全认证的,无意义。


Non-secure Connection

You are currently accessing CAS over a non-secure connection. Single Sign On WILL NOT WORK. In order to have single sign on work, you MUST log in over HTTPS.



猜你喜欢

转载自blog.csdn.net/zangguangtian/article/details/79454500