CAS单点登录-入门配置详解

配置CAS基本步骤:

1、使用java自带keytool创建本地密钥库

2、将创建过的证书导入到java证书库

3、在tomcat配置文件中配置https证书访问

4、导入cas-server到eclipse

5、创建并配置cas-client

完成


下面开始逐步介绍:

1、使用java自带keytool创建本地密钥库

创建本地密钥库命令:
keytool -genkey -alias testkey -keyalg RSA -keystore "C:\Program Files\Java\Testkey"

-alias : 这里的testkey是别名,根据个人自定义

-keystore  :这里是声明生成key的位置(稍后会用到)

输入上述命令后,会让你输入密钥库口令(记住密码)

CAS单点登录-入门配置详解_第1张图片

确认密码之后,会让你输入一些证书信息(注意:红框这里一定要输入你的域名)如何创建域名请看此文章

CAS单点登录-入门配置详解_第2张图片

把密钥库导出成证书文件,输入命令:

keytool -export -file "C:\Program Files\Java\testkey.crt" -alias testkey -keystore "C:\Program Files\Java\Testkey"

-file:定义输出文件的路径和名称

-alias:证书的别名(之前定义的)

-keystore:密钥库的存储路径

2、将创建过的证书导入到java证书库

把上面的证书导入到客户端JDK密钥库中(JDK证书密钥库默认密码:changeit):

keytool -import -keystore "C:\Program Files\Java\jdk1.7.0_79\jre\lib\security\cacerts" -file "C:\Program Files\Java\testkey.crt" -alias testkey

CAS单点登录-入门配置详解_第3张图片



3、在tomcat配置文件中配置https证书访问


在你tomcat安装路径conf目录下,修改server.xml配置文件中添加如下配置:

 

keystoreFile:刚刚创建的密钥库路径

keystorePass : 密钥库口令




4、导入cas-server到eclipse

下载cas-server的zip包,解压后在modules目录下可以找到  cas-server-webapp-3.4.10.war 

导入到eclipse中,改名为cas-server

启动tomcat,测试一下访问cas-server(在你第一次访问的时候会出现一个拦截页面,这是你只需要选择继续访问即可

CAS单点登录-入门配置详解_第4张图片

输入相同的帐号密码即可,因为默认的cas校验是允许帐号密码相同的登录成功

CAS单点登录-入门配置详解_第5张图片


5、创建并配置cas-client

创建一个web project

在index.jsp中随便写点什么

修改web.xml

  
      
      
        org.jasig.cas.client.session.SingleSignOutHttpSessionListener  
      
    
      
      
        CAS Single Sign Out Filter  
        org.jasig.cas.client.session.SingleSignOutFilter  
      
      
        CAS Single Sign Out Filter  
        /*  
      
  
      
      
        CAS Validation Filter  
          
            org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter  
          
            casServerUrlPrefix  
            https://diyagea.com:8443/cas-server  
          
          
            serverName  
            http://diyagea.com:8080/
          
      
      
        CAS Validation Filter  
        /*  
      
   
     
      
        CASFilter  
        org.jasig.cas.client.authentication.AuthenticationFilter  
          
            casServerLoginUrl  
            https://diyagea.com:8443/cas-server/login  
              
          
          
            serverName  
            http://diyagea.com:8080/
          
      
      
        CASFilter  
        /*  
      
    
      
      
        CAS HttpServletRequest Wrapper Filter  
          
            org.jasig.cas.client.util.HttpServletRequestWrapperFilter  
      
      
        CAS HttpServletRequest Wrapper Filter  
        /*  
      
  
      
      
        CAS Assertion Thread Local Filter  
        org.jasig.cas.client.util.AssertionThreadLocalFilter  
      
      
        CAS Assertion Thread Local Filter  
        /*  
      
  
      

好了现在,copy一下,复制出另一个web project,修改一下index.jsp中内容,做一下对比



现在重启tomcat可以访问client的web project了


这时 访问你的web project路径时,会自动跳转到刚才的页面

CAS单点登录-入门配置详解_第6张图片


登录成功后:

CAS单点登录-入门配置详解_第7张图片

这个时候在输入第二个web project,已经不需要认证了,直接可以访问到index.jsp


CAS单点登录-入门配置详解_第8张图片





好了,现在已经配置成功了,之后我会发出使用数据库认证方式,这样就可以应用到我的项目中去了



部署时遇到的错误:

错误1:

Ticket验证异常org.jasig.cas.client.validation.TicketValidationException:

错误2:

java.security.UnrecoverableKeyException: Cannot recover key

错误3:

java.security.cert.CertificateException: No name match





你可能感兴趣的:(单点登录,cas)