Java web过滤器验证登录防止未登录进入界面

servlet编写Filter过滤器,防止未登录访问,不过滤登陆界面(使用IDEA编写) 实现“防止未登录访问”的方法有很多,下面简单介绍一二。 第一种方法:可以在每个需要进行权限验证的界面包含一个验证文件,check.jsp。 check.jsp代码如下: page contentType="text/html;charset=UTF-8" language="java" %> html> head> title>权限验证界面title> head> body> c 阅读详情

今天用ssh2写了个简单的系统,发现了一个问题,我这系统必须先登录成功才能进入主页,但我在浏览器里直接输入主页地址,发现也能进入,这个肯定不好,毫无安全性可言,后经查资料发现需要登录过滤器,就试了下,发现果然可以避免未经登录即可进入主页的危险,下面是我整理出的详细步骤:


1.首先写一个权限过滤filter类,实现Filter接口

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginFilter implements Filter {
 @Override
 public void init(FilterConfig filterConfig) throws ServletException {
  // TODO Auto-generated method stub
 }
 @Override
 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  // 获得在下面代码中要用的request,response,session对象
  HttpServletRequest servletRequest = (HttpServletRequest) request;
  HttpServletResponse servletResponse = (HttpServletResponse) response;
  HttpSession session = servletRequest.getSession();
  // 获得用户请求的URI
  String path = servletRequest.getRequestURI();
  //System.out.println(path);
  // 从session里取员工工号信息
  String empId = (String) session.getAttribute("empId");
  /*创建类Constants.java,里面写的是无需过滤的页面
  for (int i = 0; i < Constants.NoFilter_Pages.length; i++) {
   if (path.indexOf(Constants.NoFilter_Pages[i]) > -1) {
    chain.doFilter(servletRequest, servletResponse);
    return;
   }
  }*/
  // 登陆页面无需过滤
  if(path.indexOf("/login.jsp") > -1) {
   chain.doFilter(servletRequest, servletResponse);
   return;
  }
  // 判断如果没有取到员工信息,就跳转到登陆页面
  if (empId == null || "".equals(empId)) {
   // 跳转到登陆页面
   servletResponse.sendRedirect("/JingXing_OA/login.jsp");
  } else {
   // 已经登陆,继续此次请求
   chain.doFilter(request, response);
  }
 }
 @Override
 public void destroy() {
  // TODO Auto-generated method stub
 }
}

2.然后在web.xml里配置需要登陆权限验证的JSP文件:

a.如果是某个具体的JSP文件(如a.jsp)需要登陆验证


<!-- 配置登陆过滤器 -->
<filter>
  <filter-name>login</filter-name>
  <filter-class>com.jingxing.oa.filter.LoginFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>login</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

b.如果是某一个目录(如a/目录)整个目录下的文件都需要登陆验证:

<!-- 配置登陆过滤器 -->
 <filter>
  <filter-name>login</filter-name>
  <filter-class>com.jingxing.oa.filter.LoginFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>login</filter-name>
  <url-pattern>/a/*</url-pattern>
 </filter-mapping>


原文:http://www.jb51.net/article/91224.htm






LLaMA Factory添加新模型template的实战解析 本文主要介绍了LLaMA Factory添加新模型template的实战解析,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 实战解析 2.1 检查代码 2.2 修改代码 阅读详情

相关推荐

MT6771 Android13 背光曲线调试与光感数据校准实战

本文详细介绍了MT6771平台在Android 13系统上进行背光曲线调试与光感数据校准的实战经验。针对高亮度环境下背光误调节问题,深入分析了光感数据上报机制,并提供了驱动层配置修改、背光曲线优化及常见问题解决方案,帮助开发者快速定位并解决类似问题。

moon9的博客 287

java 避免未登录_javaweb 简单验证过滤器防止未登录直接进入主页

---LoginFilter.javaimport java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet....

weixin_42429120的博客 399

手把手教你搭建硬件在回路(HIL)仿真系统:从Simulink建模到实时测试

本文详细介绍了如何从零开始搭建硬件在回路(HIL)仿真系统,涵盖Simulink建模、实时仿真、代码生成及调试等关键步骤。通过具体配置示例和优化技巧,帮助开发者解决复杂控制系统验证中的技术难题,提升半实物仿真的效率和可靠性。

weixin_30952535的博客 445

java web页面长时间未操作,自动退出到登录页面

// 长时间未操作退出系统 start var lastTime = new Date().getTime(); var currentTime = new Date().getTime(); var timeOut = 30 * 60 * 1000; //设置超时时间: 30分钟,该数据建议在后台返回 $(function(){ /* 鼠标移动事件 */ $(document).mouseover(function(){ lastT

xm的博客 4991

Vivaldi天线HFSS建模实战:从参数化曲线到辐射优化的完整流程

本文详细介绍了Vivaldi天线在HFSS中的建模与优化全流程,涵盖参数化曲线绘制、馈电系统设计及性能验证等关键步骤。通过实战案例分享,帮助工程师掌握超宽带天线的HFSS建模技巧,提升雷达探测和通信系统设计效率。重点解析了指数渐变曲线建模、微带馈电优化等核心技术要点。

weixin_29228781的博客 273

企业IT运维实录:批量部署银河麒麟V10-SP1,Ghost镜像与UKey激活实战

本文详细介绍了企业级银河麒麟V10-SP1操作系统的批量部署全流程,包括标准化镜像制作、自动化封装技术、网络化部署方案及UKey集群激活方案。通过实战案例和技术要点解析,帮助企业IT运维团队大幅提升部署效率,确保系统安全与稳定性。

weixin_30729609的博客 387

JAVA加入过滤器使得不登录不能进入主界面

在进行B/S开发的时候,我们经常会遇到虽然我们写了登录界面,但是直接根据路径也能进入主界面,这样的话登录界面就成了摆设,因此在这种条件下我们就要用到了一个比较重要的东西:过滤器,使得将未登录的界面拦截下来并跳转到登录界面,从而达到未登录则不能进入系统内部的目的。 过滤器的构建分为以下三部:1.在登录接口中加入session 2.配置过滤器LoginFilter 3.进行过滤器的声明 1.在登录...

woshisheiw01w的博客 1559

TouchSocket TcpService:构建高性能Tcp服务的终极利器

/ 接收到的数据data");// 回复客户端await ((ITcpSessionClient)client).SendAsync("服务端已收到消息!");// 继续执行后续插件TouchSocket的TCPService以极简的API、强大的扩展性和卓越的性能,重新定义了.NET TCP服务的开发体验。无论是物联网平台还是金融级实时通信系统,TCPService均能提供可靠的基础设施支持。立即探索示例项目,开启你的高性能服务开发之旅!扩展阅读如何实现WebSocket服务?

若汝棋茗 的博客 1461

如何通过过滤器实现防止用户直接使用网址访问页面,跳过用户登录验证?

思路:用户身份和数据库进行验证成功后,创建一个session保存该用户对象,在过滤器中读取这个session,若是session不为null,通过过滤器过滤,若是为null,不能通过过滤器,跳转到error.jsp页login.jsp页面&lt;/head&gt; &lt;script type="text/javascript"&gt; function validate(){ //验证 ...

专注编程和人工智能! 2万+

Matlab:imageDatastore() 高效读取图像数据集的实战技巧

本文详细介绍了Matlab中imageDatastore()函数的高效使用技巧,帮助用户从繁琐的手动读取图像数据集中解放出来。通过核心语法、关键参数(如IncludeSubfolders、LabelSource、ReadSize)的解析,以及数据集分割、打乱等进阶实战操作,指导读者构建稳定、高效的图像数据读取管道,特别适用于大型图像数据集处理和机器学习项目。

hill8的博客 1100

UBUNTU使用RTL8811CU网卡(包含树莓派)

下载驱动 从绿联中下载:链接 下载解压后,chmod Linux文件夹 sudo chmod -R 777 ./Linux/ 修改系统的BOOT Secure为disable,参考链接:链接 sudo apt install mokutil sudo mokutil --disable-validation 重启电脑后,按照提示选择change secure boot state,并输入对应的字母(并不是全部密码,而是第几个),选择disable即可 进入Linux文件夹,运行命令 ..

Hot_Ant的博客 6246

java 避免未登录_Java web过滤器验证登录防止未登录进入界面

今天用ssh2写了个简单的系统,发现了一个问题,我这系统必须先登录成功才能进入主页,但我在浏览器里直接输入主页地址,发现也能进入,这个肯定不好,毫无安全性可言,后经查资料发现需要登录过滤器,就试了下,发现果然可以避免未经登录即可进入主页的危险,下面是我整理出的详细步骤:1.首先写一个权限过滤filter类,实现Filter接口import java.io.IOException;import ja...

weixin_39596975的博客 142

python opencv的车牌识别分割详细教程 毕业设计

python opencv的车牌识别分割详细教程 毕业设计

机器学习深度学习业余选手 1326

java web 过滤器登录_Java web过滤器验证登录防止未登录进入界面

今天用ssh2写了个简单的系统,发现了一个问题,我这系统必须先登录成功才能进入主页,但我在浏览器里直接输入主页地址,发现也能进入,这个肯定不好,毫无安全性可言,后经查资料发现需要登录过滤器,就试了下,发现果然可以避免未经登录即可进入主页的危险,下面是我整理出的详细步骤:1.首先写一个权限过滤filter类,实现Filter接口import java.io.IOException;import ja...

weixin_32943857的博客 338

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java web 过滤器登录_JavaWeb 过滤器――验证登录 防止未登录进入界面

昨天刚刚完成老师布置的一个Web小项目,项目中用到了两个过滤器(编码过滤、登录过滤)我完成电商网页中有些不需要登录也能访问(首页、商品详细信息...),其他都需要过滤在会话作用域(session)中是否含有个人信息对象示例代码:package com.star.miniShop.Filter; import java.io.IOException; import java.util.ArrayL...

weixin_35774446的博客 743

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

java设置权限过滤器--防止用户未登录访问某些页面

话不多说,上代码!!! package com.store.web.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.Serv...

小猪的日常Java 2453

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

servlet+jsp实现过滤器,防止用户未登录访问

我们可能经常会用到这一功能,比如有时,我们不希望用户没有进行登录访问后台的操作页面,而且这样的非法访问会让系统极为的不安全,所以我们常常需要进行登录才授权访问其它页面,否则只会出现登录页面,当然我的思路: 一种是在jsp页面进行session的判断,如果不存在该用户的session,就跳转到登录页面,否则执行jsp页面代码,但是你会发现这样做逻辑也简单,但是非常麻烦,如果有很多个jsp,那么就要

沉默的鲨鱼的专栏 6万+

java 过滤器 弹出提示_JavaWeb 过滤器——验证登录 防止未登录进入界面

昨天刚刚完成老师布置的一个Web小项目,项目中用到了两个过滤器(编码过滤、登录过滤)比如电商网页中有些不需要登录也能访问(首页、商品详细信息...),其他都需要过滤在会话作用域(session)中是否含有个人信息对象示例代码:package com.star.miniShop.Filter;import java.io.IOException;import java.util.ArrayList;...

weixin_32017501的博客 666

java登录验过滤器_JavaWeb 过滤器——验证登录 防止未登录进入界面

packagecom.star.miniShop.Filter;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importjavax.servlet.Filter;importjavax.servlet.FilterChain;importjavax.servlet.FilterConfig;imp...

weixin_30118071的博客 168

Springmvc开发中使用filter过滤器来防止未登录的情况下通过url直接访问请求页面

在实际开发中,我们的程序都是需要用户登录之后才能进入程序进行相关操作,为了避免用户在未登录的情况下直接通过输入url进入我们的主功能页面,那么我们就要对用户的所有请求进行有一个过滤操作,下面是我在springmvc开发中使用的过滤请求方式的代码以及详细注释: (整理不易,参考使用,记得点赞) 1.首先配置web.xml,里面的地址是我们要用来过滤的LoginFilter.java文件的访问地址,中...

大房子爱生活的博客 3748

java web 过滤器登录_Java Web之简单的登录过滤器实现方法

过滤过滤,实际就是把需要和不需要的东西分开!今天来说道说道我们程序中的‘登录过滤器’ ,首先我们看看一下面的问题:1、“登录过滤器”是干什么用的?1)“登录过滤器”就是为了防止在用户没有登录的情况下来访问我们的网站。2)举例:main.html 这个网页是需要通过login.html这个网页登录后才可以访问的,现在有一个用户没有登录,直接访问main.html成功了。那么,这样的网站是不是觉得不安...

weixin_32964881的博客 563

java 登录过滤_Java丨简单的登录过滤器实现方法

过滤过滤,实际就是把需要和不需要的东西分开!今天来说道说道我们程序中的‘登录过滤器’ ,首先我们看看一下面的问题:1、“登录过滤器”是干什么用的?1)“登录过滤器”就是为了防止在用户没有登录的情况下来访问我们的网站。2)举例:main.html 这个网页是需要通过login.html这个网页登录后才可以访问的,现在有一个用户没有登录,直接访问main.html成功了。那么,这样的网站是不是觉得不安...

weixin_30781567的博客 3031
上一篇: 装饰模式
下一篇: 互联网行业的那些缩写PM,RD,FE,UE,QA,OP,BRD,MRD,PRD,FSD
springlovejava
博客等级 码龄9年 26粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值