springsecurity4.2入门完整实例

1、构建maven项目,引入springsecurity相关依赖。

项目结构如下:

springsecurity4.2入门完整实例_第1张图片

pom.xml配置文件主要部分:


         4.2.0.RELEASE
  
  
         
                org.springframework
                spring-beans
                ${spring.version}
         
         
              org.springframework
              spring-context
              ${spring.version}
         
         
              org.springframework
              spring-webmvc
              ${spring.version}
         
         
            org.springframework.security
            spring-security-web
            ${spring.version}
         
         
             org.springframework.security
             spring-security-config
             ${spring.version}
         
         
             jstl
             jstl
             1.2
         
  

2、配置web.xml。



   springsecurity
    
         contextConfigLocation
         classpath:spring-security.xml
    
    
            springmvc
            org.springframework.web.servlet.DispatcherServlet
            
                    contextConfigLocation
                    classpath:spring-mvc.xml
             
             1
    
    
              springmvc
              /
                   
      
          org.springframework.web.context.ContextLoaderListener
      
      
             springSecurityFilterChain
             org.springframework.web.filter.DelegatingFilterProxy
       
                
       
             springSecurityFilterChain
             /*
      
     
           index.jsp
     

3、书写AdminController.java类。

package com.xxx.web.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class AdminController {
    
         @RequestMapping(value= {"/","/welcome**"},method=RequestMethod.GET)
         public ModelAndView welcome() {
             ModelAndView welcome = new ModelAndView();
             welcome.addObject("title","welcome");
             welcome.addObject("message","this is a security page");
             welcome.setViewName("hello");
             return welcome;
         }
         
         @RequestMapping(value="/admin**",method=RequestMethod.GET)
         public ModelAndView admin() {
             ModelAndView welcome = new ModelAndView();
             welcome.addObject("title","admin");
             welcome.addObject("message","this is a admin page");
             welcome.setViewName("admin");
             return welcome;
         }
}

4、配置spring-mvc.xml。




         
         
                
                           /WEB-INF/views/
                
                
                           .jsp
                
         

5、配置spring-security.xml。



		
		       
		
       
              
                                     
	                   
                   
              
       

这句配置中,4.0以后版本都使用hasRole('ROLE_USER')取代原来的ROLE_USER。

6、准备页面。

admin.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@page session="true" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


	
		
		hello
	
	
	         

title:${title }

message:${message }

welcome you ,${pageContext.request.userPrincipal.name }! | Logout

hello.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"%>


	
		
		hello
	
	
	         

title:${title }

message:${message }

这里并没有登录页面,我们会使用springsecurity给我们提供的默认的登录页面,这个登录页面可以自定义。

7、启动tomcat,访问项目http://localhost:8080/springsecurity/admin

直接访问首页,或者欢迎页,不会提示登录。直接进入页面。

欢迎页和admin.jsp在同一个目录下

初次访问http://localhost:8080/springsecurity/admin提示登录,这是springsecurity为我们提供的默认的登录页面

用户名或者密码错误,登录失败

登录成功,跳转欢迎页面

 

你可能感兴趣的:(java,spring)