博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring boot session 拦截
阅读量:6713 次
发布时间:2019-06-25

本文共 2020 字,大约阅读时间需要 6 分钟。

hot3.png

使用注解配置拦截器,在user/login登录方法中加入session就ok了

package com.zhangda.core.web;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;@Configurationpublic 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("/user/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 errMsg = "{\"success\": false, \"errMsg\": \"请先登录!\"}";//            String url = "/login";//            response.sendRedirect(url);x`            response.setHeader("Content-type", "text/html;charset=UTF-8");              response.getWriter().print(errMsg);            return false;        }    }}

转载于:https://my.oschina.net/u/1011854/blog/1787901

你可能感兴趣的文章
Linux Kernel 4.9-rc8,4.9 分支最后一个候选版
查看>>
想开发 Android 分支?没门!
查看>>
《Web异步与实时交互——iframe AJAX WebSocket开发实战》—— 2.2 相关关键技术及工作原理...
查看>>
《Nmap渗透测试指南》—第1章1.5节Mac OS安
查看>>
重磅,企业实施大数据的路径
查看>>
linux之cp/scp命令+scp命令详解
查看>>
Spark 源码分析 -- BlockStore
查看>>
《C语言编程初学者指南》一1.7 创建并运行第一个C程序
查看>>
学习和使用 PHP 应该注意的10件事
查看>>
《当用户体验设计遇上敏捷》一3.3 设计的适合之处
查看>>
《众妙之门——网页设计专业之道》——1.4 如何与众不同
查看>>
多核编程入门
查看>>
《TensorFlow技术解析与实战》——1.6 机器学习的相关赛事
查看>>
大数据小说 | 如何用一小时看透一个初识的姑娘
查看>>
《Python面向对象编程指南》——1.10 一些其他的类定义
查看>>
《Android NFC开发实战详解》——6.3节Android NFC P2P开发实例
查看>>
Oracle ASM 翻译系列第八弹:ASM Internal ASM file extent map
查看>>
《Python密码学编程》——2.5 行号和空格
查看>>
JS页面后退并刷新
查看>>
《Ember.js实战》——2.5 Ember.js对象模型
查看>>