springMVC自定义拦截器(Interceptor)实现登陆验证

本文介绍如何在SpringMVC中使用拦截器实现登录验证,确保未登录用户无法访问特定页面,仅允许已登录用户浏览网站内容。通过配置拦截器,我们可以控制用户的访问权限,提升网站的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.为什么要登陆拦截

在未登录之前,我们并不希望用户可以看见里面的内容,这时候就要设置拦截器,只有登陆之后的用户才可以看见里面的内容。

2.实现思路

使用拦截器,判断session里是否有用户信息,若有,则放行,若没有,则重定向到登陆页面。

3.springMVC配置

    <!--配置拦截器-->
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <mvc:exclude-mapping path="/home/**"></mvc:exclude-mapping>
            <mvc:exclude-mapping path="/**/*.css"/>
            <mvc:exclude-mapping path="/**/*.js"/>
            <mvc:exclude-mapping path="/**/*.png"/>
            <mvc:exclude-mapping path="/**/*.gif"/>
            <mvc:exclude-mapping path="/**/*.jpg"/>
            <mvc:exclude-mapping path="/**/*.jpeg"/>
            <mvc:exclude-mapping path="/registerUser"></mvc:exclude-mapping>
            <mvc:exclude-mapping path="/checkId"></mvc:exclude-mapping>
            <mvc:exclude-mapping path="/register"></mvc:exclude-mapping>
            <bean class="com.sustly.interceptors.LoginInterceptor"></bean>
        </mvc:interceptor>
    </mvc:interceptors>

配置拦截所有请求,除了登陆注册页面以及静态资源文件。

4.Interceptor类编写

public class LoginInterceptor implements HandlerInterceptor {


    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {

            String id  = (String) request.getSession().getAttribute("id");
            if(id == null) {
                response.sendRedirect("/home/login");
                return false;
            }else {
                return true;
            }
    }

    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

    }

    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值