1. 程式人生 > >使用WebMvcConfigurerAdapter 做登錄,失效的一個小小原因

使用WebMvcConfigurerAdapter 做登錄,失效的一個小小原因

http ati 原因 ext string exce col uri www

package com.github.carter659.spring13;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

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; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; /** * 登錄配置 博客出處:http://www.cnblogs.com/GoodHelper/ * */ @Configuration
public class WebSecurityConfig extends WebMvcConfigurerAdapter { /** * 登錄session key */ public final static String SESSION_KEY = "user"; @Bean public SecurityInterceptor getSecurityInterceptor() { return new SecurityInterceptor(); } public void addInterceptors(InterceptorRegistry registry) { InterceptorRegistration addInterceptor
= registry.addInterceptor(getSecurityInterceptor()); // 排除配置 addInterceptor.excludePathPatterns("/error"); addInterceptor.excludePathPatterns("/login**"); // 攔截配置 addInterceptor.addPathPatterns("/**"); } private class SecurityInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session = request.getSession(); if (session.getAttribute(SESSION_KEY) != null) return true; // 跳轉登錄 String url = "/login"; response.sendRedirect(url); return false; } } }
排除配置那裏,千萬別把,發送過去驗證登錄的網址,也給攔截了,這個原因,折騰了我大半個小時

// 排除配置
addInterceptor.excludePathPatterns("/login**");

https://www.cnblogs.com/GoodHelper/p/6343190.html

使用WebMvcConfigurerAdapter 做登錄,失效的一個小小原因