CAS(三)基于SpringMVC搭建CAS-client,SpringMVC搭建CAS客户端

环境要求

  • JDK 8+
  • CAS 5.2
  • tomcat 8+

步骤

一、搭建CAS服务器  --> CAS(一)搭建CAS - server服务器

 

二、配置hosts,加入如下配置

127.0.0.1      cas.server.com
127.0.0.1      cas.client1.com

三、搭建SpringMVC项目

项目名为cas-clientA,项目结构如下:

CAS(三)基于SpringMVC搭建CAS-client,SpringMVC搭建CAS客户端_第1张图片

  • 包含三个页面:主页--index.jsp(无需登录),hello页面--hello.jsp(需要登录),退出成功提示页--logoutsuccess.jsp(无需登录)

 

  • pom.xml文件配置如下


    4.0.0

    com.oumuv
    cas-clientA
    0.0.1-SNAPSHOT
    war

    cas-clientA
    cas client A

    

        
            javax
            javaee-web-api
            7.0
        
        
            org.springframework
            spring-core
            4.3.9.RELEASE
        
        
            org.springframework
            spring-webmvc
            4.3.9.RELEASE
        

        
            commons-logging
            commons-logging
            1.1.1
        

        
            log4j
            log4j
            1.2.17
        

        
        
            org.jasig.cas.client
            cas-client-core
            3.4.1
        
    

    
        cas-sample-java-webapp
        
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.0
                
                    UTF-8
                    1.8
                    1.8
                
            
            
                org.mortbay.jetty
                jetty-maven-plugin
                8.1.9.v20130131
                
                    
                        
                            
                            9001
                            60000
                        
                    
                
            
        

    

 

  • applicationContext.xml主要配置一下jsp解析器,配置如下:



    
    
    
    

    
    

    
        
        
        
    


 

  • web.xml配置是重点,cas服务器和客户端的关联需要在此配置:



    
        contextConfigLocation
        classpath:*.xml
    
    
        log4jConfigLocation
        classpath:log4j.properties
    

    
    
        org.springframework.web.context.ContextLoaderListener
    

    
        org.springframework.web.util.Log4jConfigListener
    

    
    
        SpringMVC
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:applicationContext.xml
        
        1
    
    
        SpringMVC
        /
    

    
    
        CAS Single Sign Out Filter
        org.jasig.cas.client.session.SingleSignOutFilter
        
            casServerUrlPrefix
            http://cas.server.com:8443/cas
        
    

    
    
        org.jasig.cas.client.session.SingleSignOutHttpSessionListener
    

    
    
        CAS Authentication Filter
        org.jasig.cas.client.authentication.AuthenticationFilter
        
            casServerLoginUrl
            http://cas.server.com:8443/cas/login
        
        
            serverName
            http://cas.client1.com:9001
        
        
        
            ignorePattern
            /logout/success|/index
        
    

    
    
        CAS Validation Filter
        org.jasig.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter
        
            casServerUrlPrefix
            http://cas.server.com:8443/cas
        
        
            serverName
            http://cas.client1.com:9001
        
        
            redirectAfterValidation
            true
        
        
            useSession
            true
        
        
            authn_method
            mfa-duo
        
    

    
    
        CAS HttpServletRequest Wrapper Filter
        org.jasig.cas.client.util.HttpServletRequestWrapperFilter
    

    
        CAS Single Sign Out Filter
        /*
    

    
        CAS Validation Filter
        /*
    

    
        CAS Authentication Filter
        /*
    

    
        CAS HttpServletRequest Wrapper Filter
        /*
    

    
    
        default
        *.jpg
    
    
        default
        *.js
    
    
        default
        *.css
    

其中http://cas.server.com:8443是服务端的地址,http://cas.client1.com:9001是客户端地址

 

  • CASController.java有两个业务如下:
    /**
     * 主页
     * @param map
     * @return
     */
    @RequestMapping("index")
    public String index(ModelMap map) {
        map.addAttribute("name", "clien A");
        return "index";
    }

    /**
     * hello
     * @return
     */
    @RequestMapping("hello")
    public String hello() {
        return "hello";
    }

 

四、启动项目、测试

依次启动CAS-server服务端、CAS-clientA客户端

访问http://cas.client1.com:9001/index进入CAS-clientA主页:

CAS(三)基于SpringMVC搭建CAS-client,SpringMVC搭建CAS客户端_第2张图片

点击client A(http://cas.client1.com:9001/hello),会跳转到cas登录认证页面:

CAS(三)基于SpringMVC搭建CAS-client,SpringMVC搭建CAS客户端_第3张图片

输入账号和密码完成登录后跳转到hello页面:

CAS(三)基于SpringMVC搭建CAS-client,SpringMVC搭建CAS客户端_第4张图片

到此项目搭建完成

单点退出实现请看这里:CAS(五)CAS客户端单点退出实现

代码托管在https://gitee.com/oumuv/cas-Demo

 

上一篇:CAS(二)CAS服务器动态验证,CAS使用MySQL数据库验证

下一篇:CAS(四)基于Springboot搭建CAS-client,Springboot搭建CAS客户端

 

希望可以帮助到有需要的人

你可能感兴趣的:(SSO,CAS,SSO单点登录CAS应用专栏)