CAS --- 集成SpringSecurity

一、Maven pom.xml引入依赖

 


    4.2.4.RELEASE




    
        org.springframework
        spring-core
        ${spring.version}
    
    
        org.springframework
        spring-web
        ${spring.version}
    

    
        org.springframework
        spring-webmvc
        ${spring.version}
    

    
        org.springframework
        spring-context-support
        ${spring.version}
    

    
        org.springframework
        spring-test
        ${spring.version}
    

    
        org.springframework
        spring-jdbc
        ${spring.version}
    

    
        javax.servlet
        servlet-api
        2.5
        provided
    

    
        org.springframework.security
        spring-security-web
        4.1.0.RELEASE
    

    
        org.springframework.security
        spring-security-config
        4.1.0.RELEASE
    


    
        org.springframework.security
        spring-security-cas
        4.1.0.RELEASE
    
    
        org.jasig.cas.client
        cas-client-core
        3.3.3
        
            
                org.slf4j
                log4j-over-slf4j
            
        
    


    
        
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.2
            
                1.7
                1.7
                UTF-8
            
        
        
            org.apache.tomcat.maven
            tomcat7-maven-plugin
            
                
                9003
                
                /
            
        
    

 

二、web.xml配置

 

 


 

    
      contextConfigLocation
      classpath:spring-security.xml
    
    
      
         org.springframework.web.context.ContextLoaderListener
      
    
   
      
      springSecurityFilterChain  
      org.springframework.web.filter.DelegatingFilterProxy  
      
      
      springSecurityFilterChain  
      /*  
    
   
   
   
   springmvc
   org.springframework.web.servlet.DispatcherServlet
   
      
      contextConfigLocation
      classpath:springmvc.xml
      
   
   
      springmvc
      *.do
   
      

 

三、springmvc.xml配置

 

 



   
   
    
     

 

 

四、spring-securityxml配置

 

 

 



   
   
   
   
     
           
          
                   
              
          
          
    
    
   
      
          
          
          
          
      
          
        
      
    

    
    
      
          
      
      
   
      
      
   
      
     
          
              
                  
              
          
          
        
          
              
                  
              
          
         
            
           
   
   
   
   
   
        
        
          
      
          
          
              
          
          
      
      
   

 

五、UserController类

 

 

package cn.cas.demo;

import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

   @RequestMapping("/findLoginUser")
   public void findLoginUser(){
      //当前登录名
      String name = SecurityContextHolder.getContext().getAuthentication().getName();
      System.out.println("当前登录名:"+name);
   }
   
}

 

六、UserDetailServiceImpl类

 

 

package cn.cas.demo.service;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;

public class UserDetailServiceImpl implements UserDetailsService {

   @Override
   public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
      System.out.println("经过认证类:"+username);
      
      List authorities=new ArrayList();
      authorities.add(new SimpleGrantedAuthority("ROLE_USER"));
      
      return new User(username,"",authorities);
   }

}

 

七、index.html --- 首页

 

 





首页


你已进入cas and spring security! 退出

 

八、index2.html --- 退出页

 

 





首页


你已退出cas and spring security!

 

九、login_error.html --- 错误页面

 





首页


用户名或密码错误~~~

 

 

你可能感兴趣的:(Java,------,Security,------,CAS)