springboot2中session超时,退到登录页面方式

在Spring Boot 2中,控制Session超时并重定向到登录页面的方式有多种。下面是其中一种完整攻略:

1. 设置Session超时时间

application.properties文件中添加以下配置,设置Session超时时间:

server.servlet.session.timeout=30m

表示Session超时时间为30分钟。也可以使用以下格式:

server.servlet.session.timeout=1800

表示Session超时时间为1800秒。

2. 配置Interceptor拦截器

在Spring Boot应用中,可以使用Interceptor拦截器来控制Session的超时和重定向到登录页面的处理。

首先,创建一个继承HandlerInterceptorAdapter类的拦截器:

@Component
public class SessionTimeoutInterceptor extends HandlerInterceptorAdapter {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession(false);
        if(session == null || session.getAttribute("user") == null) {
            response.sendRedirect(request.getContextPath() + "/login");
            return false;
        }
        return true;
    }
}

上述拦截器判断Session是否存在或Session中是否有"user"属性,如果不存在或为空,则重定向到登录页。

接下来,在WebMvcConfigurer的实现类中添加拦截器:

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Autowired
    private SessionTimeoutInterceptor sessionTimeoutInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(sessionTimeoutInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
    }
}

上述代码将拦截器注册到InterceptorRegistry中,对所有请求进行拦截,除了登录页。

3. 示例说明

下面的示例演示如何在Spring Boot应用中使用上述拦截器来控制Session的超时和重定向到登录页面的处理。

示例1

用户打开系统,并在30分钟内没有进行任何操作。当用户再次操作时,应该提示用户Session已过期,并重定向到登录页面。

示例2

用户正在访问系统,正在进行某项操作。如果超过30分钟没有进行任何操作,应该提示用户Session已过期,并重定向到登录页面。

以上就是使用Interceptor拦截器来控制Session超时并重定向到登录页面的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot2中session超时,退到登录页面方式 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • React性能优化的实现方法详解

    React性能优化的实现方法详解 React 是一款高效和强大的 JavaScript 库,但随着应用规模的增长和数据量的增加,React 应用的性能优化就变得尤为重要。本文将介绍 React 性能优化的实现方法,从组件设计到数据管理等多个方面详细讲解。 组件设计 组件是 React 应用的核心,它们是构建 UI 的基本单元。优化组件的设计可以提高应用的性能…

    css 2023年6月10日
    00
  • 以前写的两个CSS树形菜单

    当初写两个CSS树形菜单的时候,主要考虑的是可扩展性、易用性和可读性,这里提供一份完整的建议和攻略,方便您学习和使用。 CSS树形菜单 HTML结构 首先,我们需要准备合适的HTML结构,来实现树形菜单。一般而言,在HTML结构中,我们需要使用ul(unordered list,无序列表)元素和li(list item,列表项)元素来搭建树形结构。 示例代码…

    css 2023年6月10日
    00
  • CSS文本阴影 text-shadow 悬停效果详解

    CSS文本阴影 text-shadow 悬停效果详解 文本阴影是在字体背后添加投影效果,让字体看起来有立体和浮动的效果。 text-shadow 属性可以添加阴影效果,以逐步增加各种文字的 3D 效果,文本阴影可以用于各种文本或标题。 语法 text-shadow: h-shadow v-shadow blur-radius color; 参数 h-shad…

    css 2023年6月10日
    00
  • 地址栏上的一段语句,改变页面的风格。(教程)

    首先我们需要知道用来改变页面风格的语句是CSS,CSS可以通过在HTML文档的标签内或通过外部CSS样式表来应用于网页中。而改变地址栏上的语句则是使用HTML5的History API中的pushState()方法。 具体的步骤如下: 在HTML文档的标签内或通过外部CSS样式表来定义需要的CSS样式。 例如,在标签内定义一个id为”dark-style”的…

    css 2023年6月10日
    00
  • Js制作点击输入框时默认文字消失的效果

    要实现点击输入框时默认文字消失的效果,可以使用JS来监听输入框的点击事件,并且在输入框被点击时,将输入框文本内容设置为空,从而达到在点击输入框时默认文字消失的效果。 下面是实现点击输入框时默认文字消失的步骤: 为需要实现该效果的输入框设置一个默认值,例如“请输入内容…”。 <input type="text" value=&quot…

    css 2023年6月10日
    00
  • HTML+CSS实现简单下拉菜单效果

    HTML和CSS是web前端开发的基础技术,下拉菜单是常见的网站页面设计元素。本攻略将介绍如何使用HTML和CSS实现简单的下拉菜单效果。 准备工作 在开始实现下拉菜单效果之前,我们需要进行一些准备工作: 确定网站需要使用的下拉菜单的样式和特性。 选择合适的HTML元素和CSS属性来实现下拉菜单效果。 实现方法 下面分为两个步骤来讲解如何实现简单下拉菜单。 …

    css 2023年6月9日
    00
  • jQuery 源码分析笔记(5) jQuery.support

    下面开始讲解“jQuery 源码分析笔记(5) jQuery.support”的完整攻略。 1. 简介 jQuery.support 是 jQuery 库中一个提供特性检测的方法。它用来检测是否支持一些新特性,以便在代码中做一些相应处理或者兼容性处理。 该方法会在 jQuery 库加载时自动执行,它会将检测结果保存在全局变量 jQuery.support 中…

    css 2023年6月10日
    00
  • css利用A标签的背景可能作出很有意思的效果

    针对这个问题,我可以给出以下完整攻略: CSS利用 A标签的背景 可以作出很有意思的效果 1. 利用 background-image 设置背景图片 可以通过 background-image 属性设置 A 标签的背景图片。通过精心的设计,可以为网站增添一些浪漫或者复古的气息,使得用户体验更加丰富多彩。 下面是一个设置背景图片的例子: a { backgro…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部