spring—拦截器

Easter79
• 阅读 489

1.拦截器进行登录检查

/*登陆检查*/
//拦截器要注册到容器中
public class LoginHandlerInterceptor implements HandlerInterceptor {
    //目标方法执行之前
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        //获取session域,获取到loginUser,看是否登录
        HttpSession session = request.getSession();
        Object loginUser = session.getAttribute("loginUser");
        if (loginUser==null){
            //未登录,返回登录页面
            //获取转发器,并转发
            request.setAttribute("msg","没有权限请先登录");
            request.getRequestDispatcher("/index.html").forward(request,response);
            return false;
        }else {
            //已登录,放行
            return true;
        }
    }
}

@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        //映射到login.html页面
        registry.addViewController("/").setViewName("login");
        registry.addViewController("/index.html").setViewName("login");
        //做重定向
        registry.addViewController("/main.html").setViewName("dashboard");
    }


    //将MyLocaleResolver加到注册
    @Bean
    public LocaleResolver localeResolver(){
        return new MyLocaleResolver();
    }

   //注册拦截器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //拦截器拦截所有请求,但放行以下请求
        registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**").excludePathPatterns("/","/index.html","/login.html","/user/login","/webjars/**","/asserts/**");
    }
}
点赞
收藏
评论区
推荐文章
Easter79 Easter79
2年前
springboot学习笔记2(拦截器,redis,授权登录,读取yml配置文件)
介绍一下springboot的一些自定义配置。自定义配置前,需要加入一些依赖,在学习笔记1中都要介绍1.使用springboot自定义拦截器。 首先自己一个拦截器:publicclassMyInterceptorimplementsHandlerInterceptor{@Override
Wesley13 Wesley13
2年前
MyBatis拦截器实现分页
MyBatis分页拦截器实现前言    拦截器的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法。Mybatis拦截器设计的一个初衷就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。打个比
Stella981 Stella981
2年前
Mybatis通过Interceptor来简单实现影子表进行动态sql读取和写入
首先进行Mybatis 拦截器介绍    拦截器的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法。Mybatis拦截器设计的一个初衷就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑。打个比方,对于Executor,M
Stella981 Stella981
2年前
Mybatis拦截器
1.介绍:   我自己理解中的mybatis拦截器,和普通拦截器一样,在执行一段程序之前对其做一些特殊处理,网上一般都是用其做分页处理、日志记录...,实现原理就是在预处理前对其进行一些处理2.简单说明:  mybatis提供了一个Interceptor接口,方便扩展所需的操作  Object intercept(Invocation in
Stella981 Stella981
2年前
Spring mvc之拦截器介绍
一、拦截器介绍 (1)拦截器概念介绍        拦截器(Interceptor)是Spring的核心功能之一,它可以在用户请求Action的之前或之后进行一些业务处理。        很多从ASP.NET转过来的开发人员把它叫做过滤器。(2)拦截器方法执行顺序
Stella981 Stella981
2年前
Mybatis拦截器分析
【基本思路】拦截器在哪里拦截?什么情况下才会拦截代理?怎么代理呢?只要搞清楚这些,基本的拦截器功能也3拦截器实现原理mybatis支持拦截器,实现的原理就是利用JDK的动态代理。拦截器在哪里呢?mybatis到底提供几处可以拦截呢?请看下图,通过分析源码可知基本查询流程如下:!mybatis的interceptor拦截器流程图(http:
Easter79 Easter79
2年前
SpringBoot2.0 基础案例(05):多个拦截器配置和使用场景
本文源码GitHub:知了一笑https://github.com/cicadasmile/springbootbase一、拦截器简介1、拦截器定义拦截器,请求的接口被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。拦截器主要用来按照指定规则拒
Stella981 Stella981
2年前
SpringBoot2.0 基础案例(05):多个拦截器配置和使用场景
本文源码GitHub:知了一笑https://github.com/cicadasmile/springbootbase一、拦截器简介1、拦截器定义拦截器,请求的接口被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。拦截器主要用来按照指定规则拒
Easter79 Easter79
2年前
SSM框架项目的mvc拦截器
为了防止用户在不登录的情况下通过并接请求直接访问系统,我们需要通过session和拦截器来防止这样的情况。拦截器的配置:为拦截器建立一个包:interceptor,并在包里建立LoginInterceptor拦截器类!(https://oscimg.oschina.net/oscnet/0c550371593ccb1aa7a33fa7b7
Stella981 Stella981
2年前
SSM框架项目的mvc拦截器
为了防止用户在不登录的情况下通过并接请求直接访问系统,我们需要通过session和拦截器来防止这样的情况。拦截器的配置:为拦截器建立一个包:interceptor,并在包里建立LoginInterceptor拦截器类!(https://oscimg.oschina.net/oscnet/0c550371593ccb1aa7a33fa7b7
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k