Javaweb用过滤器写防跳墙功能和退出登录
创始人
2024-11-11 13:09:27
0

一、什么是防跳墙功能:

        防跳墙功能通常指的是防止用户在未完成认证的情况下直接访问受保护资源的功能。在 Web 开发中,这种功能通常被称为“登录拦截”或“身份验证拦截”。

        在 Spring MVC 中,实现这种功能通常使用的是“拦截器”(Interceptor)。拦截器可以用来执行预处理或后处理任务,比如身份验证、权限控制等。

二、如何与过滤器结合:

将防跳墙功能写进过滤器中,就相当于所有跳转都要经过过滤器这一层,这样我们就只需要写一次防跳墙就能控制整个项目的跳转。

三、具体操作: 

首先我们要创建一个过滤器,具体的写法在这篇文章:https://blog.csdn.net/daibadetianshi/article/details/140869629?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/daibadetianshi/article/details/140869629?spm=1001.2014.3001.5501

 创建完过滤器就要开始写防跳墙功能:

我们的防跳墙功能建立在session的基础上,先获取用户的session值再根据这个值进行判断;

 //获取已有的session会话,即使没有也不自动创建         HttpSession session = ((HttpServletRequest) servletRequest).getSession(false);         //获取浏览器导航的地址         String requestURI = ((HttpServletRequest) servletRequest).getRequestURI();         //对网址经行判断

上面的代码完成了过滤器获取session的值和浏览器跳转的网址;

 拿到这两个值,我们先对网址进行区分把不需要权限的页面放出来,让用户不会被卡。

先判断是否为不用卡的跳转直接放行:

 不会被卡的跳转一般都是登录跳转,验证码跳转,退出登录跳转,登陆失败跳转,登录界面等等。

 if (requestURI.endsWith("/huanying.jsp")||requestURI.endsWith("/code")||requestURI.endsWith("/usererror")||requestURI.endsWith("/showlist")                 ||requestURI.endsWith("/httpuser")         ){             //放行             filterChain.doFilter(servletRequest,servletResponse);                     }

 再判断session的值是否够访问的权限:

else if (session==null||session.getAttribute("user")==null){             //初始化write             PrintWriter writer = servletResponse.getWriter();             //被拦截时的弹窗,将跳转到登陆界面             writer.write("");         }

如果session为空或不存在,则可以判断用户是非法跳转,没有访问权限。用弹窗告知并跳转到登陆界面。 

当session存在且有值时,就说明有权限,是正常登录,过滤器放行。

else if (session !=null &&session.getAttribute("user")!=null){             //放行             filterChain.doFilter(servletRequest,servletResponse);         }

 四、退出登录:

退出登录就是取消相应的权限,也就是将session变为空。

 //获取session         HttpSession session = req.getSession();         //将session消除         session.invalidate();

这样我们的session会话就被销毁了。 

 PrintWriter writer = resp.getWriter();         writer.write(                 ""         );     }

这样就成功退出了。 

相关内容

热门资讯

透视规律!wepoker插件程... 透视规律!wepoker插件程序激活码,三哥玩辅助器,普及教程(有挂头条)-哔哩哔哩1、玩家可以在w...
透视黑科技!如何判断wpk辅助... 透视黑科技!如何判断wpk辅助软件的真假(透视)底牌透视挂辅助程序(可靠开挂辅助高科技教程)-哔哩哔...
9分钟了解!来趣友乐麻将是正规... 9分钟了解!来趣友乐麻将是正规平台有挂(辅助挂)原先真的是有挂(专业辅助曝光教程)-哔哩哔哩;来趣友...
黑科技辅助!wepoke ai... 黑科技辅助!wepoke ai代打(智能ai辅助插件安装)软件透明挂黑科技(先前真的是有挂)-哔哩哔...
透视存在!wpk透视是真的假的... 透视存在!wpk透视是真的假的,赣牌圈挂可以安装,2025新版(有挂猫腻)-哔哩哔哩1、首先打开赣牌...
6分钟了解!赣州中至麻将有假(... 6分钟了解!赣州中至麻将有假(辅助挂)一贯真的是有挂(专业辅助AA德州教程)-哔哩哔哩;赣州中至麻将...
透视挂透视!约局吧游戏挂(透视... 您好:约局吧游戏挂这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...
黑科技辅助!德扑ai智能(智能... 黑科技辅助!德扑ai智能(智能ai辅助插件安装)软件透明挂黑科技(本然存在有挂)-哔哩哔哩;大家肯定...
透视规律!约局吧游戏挂,九九山... 透视规律!约局吧游戏挂,九九山城插件,科技教程(有挂细节)-哔哩哔哩九九山城插件辅助器中分为三种模型...
三分钟了解!开心武汉花辅助软件... 您好:开心武汉花辅助软件免费测试这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很...