码迷,mamicode.com
首页 > 其他好文 > 详细

cas单点登陆系统-建立单点登陆系统的应用

时间:2018-02-10 14:08:41      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:assertion   ima   mvc   过滤   log   color   域名   打包部署   oca   

上一篇如果已经操作成功,说明casServer已经实现了,下面就是搭建casClient与casServer联合调试。代码已经上传到github上。你可以下载看看,如果自己在搭建的过程中遇到问题,你也可以加我qq。

在github上,我创建了两个项目,分别是myCasServer,myCasClient。myCasClient是使用intellij idea搭建的maven,springmvc项目,下面是搭建的流程。

建立应用主要分下面三个部分:  

    1.1、添加cas-client-core-xxx.jar到pom.xml中

  1.2、配置过滤器到web.xml

  1.3、添加证书到信任库。

1.1、添加cas-client-core-xxx.jar到pom.xml中

    <dependency>
      <groupId>org.jasig.cas.client</groupId>
      <artifactId>cas-client-core</artifactId>
      <version>3.1.11</version>
    </dependency>

1.2、配置过滤器

这里一共要配置4个,每个过滤器的作用可以参考:http://elim.iteye.com/blog/2142631,也可以自己下载源码看看。

<context-param>
    <param-name>serverName</param-name>
    <param-value>http://localhost:8080</param-value>
  </context-param>

  <filter>
    <filter-name>casAuthenticationFilter</filter-name>
    <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
    <init-param>
      <param-name>casServerLoginUrl</param-name>
      <param-value>https://localhost:8443/cas/login</param-value>
    </init-param>
  </filter>

  <filter>
    <filter-name>casTicketValidationFilter</filter-name>
    <filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>
    <init-param>
      <param-name>casServerUrlPrefix</param-name>
      <param-value>https://localhost:8443/cas</param-value>
    </init-param>
  </filter>

  <filter>
    <filter-name>casHttpServletRequestWrapperFilter</filter-name>
    <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
  </filter>

  <filter>
    <filter-name>casAssertionThreadLocalFilter</filter-name>
    <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>casAuthenticationFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <filter-mapping>
    <filter-name>casTicketValidationFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <filter-mapping>
    <filter-name>casHttpServletRequestWrapperFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <filter-mapping>
    <filter-name>casAssertionThreadLocalFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

1.3、添加证书到信任库:关于证书不懂的可以参考:http://blog.csdn.net/szzt_lingpeng/article/details/51247980

第一步:使用java自带keytool创建本地密钥库
        keytool -genkey -alias tomcat -keyalg RSA
第二步:把密钥库导出成证书文件
        keytool -export -alias tomcat -file "%JAVA_HOME%/jre/lib/security/tomcat.crt" -storepass yourpassword
第三步:将创建过的证书导入到java证书库
        keytool -import -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file "%JAVA_HOME%/jre/lib/security/tomcat.crt" -storepass Awsdrain@9

附:
查看是否有重名的证书:
        keytool -list -v -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
删除已经创建的证书:
        keytool -delete -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit  

 

第一步:画红色一定要配置成域名,本地的配置成localhost。

技术分享图片

第二步:技术分享图片

第三步:

技术分享图片

验证:

将myCasServer与myCasClient打包部署到tomcat下。

注意,如果myCasServer的登陆方式没有改,那么就可以使用:用户名和密码一样的方式登陆,我的myCasServer登陆方式已经更改,需要创建数据库cas,并且添加表t_user,在里面添加用户名和密码的方式登陆。

CREATE TABLE `t_user` (
  `username` varchar(32) NOT NULL,
  `password` varchar(32) DEFAULT NULL,
  PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

输入地址:localhost:8080/myCasClient/

验证截图顺序依次是:

技术分享图片

 

技术分享图片

技术分享图片

 

cas单点登陆系统-建立单点登陆系统的应用

标签:assertion   ima   mvc   过滤   log   color   域名   打包部署   oca   

原文地址:https://www.cnblogs.com/boywwj/p/8438412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!