• Springboot2.0实现URL拦截


    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目录和配置图

  • 相关阅读:
    优达学城数据分析师纳米学位——知识点总结1
    优达学城数据分析师纳米学位——第二课 jupyter notebook的使用
    优达学城数据分析师纳米学位——第一课总结
    产品经理学习笔记- 猿题库运营面试准备
    EXCEL 2010学习笔记—— 动态图表
    EXCEL 2010学习笔记 —— VLOOKUP函数 嵌套 MATCH 函数
    最长上升子序列模板
    不要62
    划分树简单介绍
    母函数基本应用
  • 原文地址:https://www.cnblogs.com/ywjfx/p/10102023.html
Copyright © 2020-2023  润新知