1. 程式人生 > >Springboot2.0實現URL攔截

Springboot2.0實現URL攔截

get 進行 figure ppi tar tro bind mod pat

1、創建一個登陸攔截器SecurityInterceptor,它繼承HandlerInterceptorAdapter類

package com.cn.commodity.config;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

public class SecurityInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session = request.getSession(); if (session.getAttribute(WebSecurityConfig.SESSION_KEY) != null
) { return true; } // 跳轉登錄-------controller類中的登陸方法 String url = "/login"; response.sendRedirect(url); return false; } }

2、創建一個URL攔截器WebSecurityConfig類,主要在這個類中實現URL攔截。註意:具體的攔截依據項目而定。

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Configuration public class WebSecurityConfig extends WebMvcConfigurerAdapter { public static final String SESSION_KEY = "user"; @Bean public SecurityInterceptor getSecurityInterceptor() { return new SecurityInterceptor(); } @Override public void addInterceptors(InterceptorRegistry registry) { InterceptorRegistration addInterceptor = registry.addInterceptor(getSecurityInterceptor()); // 排除配置--對下面的不進行攔截 addInterceptor.excludePathPatterns("/index"); addInterceptor.excludePathPatterns("/login"); // addInterceptor.excludePathPatterns("/user/**"); addInterceptor.excludePathPatterns("/start/**"); // 攔截配置 addInterceptor.addPathPatterns("/**"); } }

3、自己寫一個controller和一些jsp,就可以實現了。

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class JspController {
    @RequestMapping("/index")
    public String index(){
        return  "index";
    }

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

4、jsp目錄和配置圖

技術分享圖片

Springboot2.0實現URL攔截