package com.tnt.web.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;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class LoginCheckFilter implements Filter {
//protected Log log = LogFactory.getLog(getClass());
/**
* 登陆页面
*/
private String loginPage = "";
@SuppressWarnings("unchecked")
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
HttpSession session = httpServletRequest.getSession();
if (session == null || session.getAttribute("user") == null) {
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
httpServletResponse.sendRedirect(httpServletRequest.getContextPath() + loginPage);
// httpServletRequest.getRequestDispatcher(loginPage).forward(httpServletRequest, httpServletResponse);
} else {
chain.doFilter(request, response);
}
}
public void init(FilterConfig filterConfig) throws ServletException {
this.loginPage = filterConfig.getInitParameter("loginPage");
}
public void destroy() {
}
}
这是filter类。
在web.xml中配置filter。
<!-- 用户登录检测过滤器 -->
<filter>
<filter-name>LoginCheckFilter</filter-name>
<filter-class>
com.tnt.web.filter.LoginCheckFilter
</filter-class>
<init-param>
<param-name>loginPage</param-name>
<param-value>/logon.jsp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>LoginCheckFilter</filter-name>
<url-pattern>/index.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>LoginCheckFilter</filter-name>
<url-pattern>/indexadmin.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>LoginCheckFilter</filter-name>
<url-pattern>/right.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>LoginCheckFilter</filter-name>
<url-pattern>/main/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>LoginCheckFilter</filter-name>
<url-pattern>/tree/*</url-pattern>
</filter-mapping>
分享到:
相关推荐
本篇文章是介绍javax.servlet包中Filter的几个功能,一是字符编码过滤,二是拦截指文件夹中的文件,实现登录验证
公司员工在10W人以上,需要初始化的内容就是将这10W多的用户信息,在系统启动时就初始化到缓存中,用户通过客户端登陆,像服务端发出请求后,直接从缓存里面验证用户的信息,这样做的好处是减轻服务端和数据库的压力...
-- authc:该过滤器下的页面必须验证后才能访问,它是Shiro内置的一个拦截器org.apache.shiro.web.filter.authc.FormAuthenticationFilter --> <property name="filterChainDefinitions"> /statics/**=anon ...
jwt完整无框架web例子+登录验证 web demo,支持跨域 ,支持filter过滤验证 jwt完整无框架web例子+登录验证 web demo,支持跨域 ,支持filter过滤验证
1.新建一个Dynamic Web Project项目,里面新建1个filter文件、1个servlet文件和2个jsp文件,整体的框架如图所示: 2.LoginFilter.java里面的代码如下所示: package filter; import java.io.IOException; import ...
Tomcat 中 web.xml 文件是 Web 应用的核心配置文件,负责管理 Web 应用的生命周期、Servlet 的加载顺序、Filter 的配置等。下面对 web.xml 文件中的重要元素进行详细解释。 context-param 元素 context-param 元素...
8.3设 计 思 路 用户登录模块设计可划分为前台登录界面设计和后台数据验证设计两部分。 《Java-Web应用开发基础》教学课件08课程设计实例全文共73页,当前为第7页。 8.3设 计 思 路 8.3.1登录界面设计 登录界面要...
1. Filter 1.1.概念: web 中的过滤器:当访问服务器的资源时,过滤器可以将请求拦 ...如:登录验证、统一编码处理、敏感字符过滤 2. 动态代理 2.1.概念: 在不改变一个类源代码的情况下去增强方法的功能
一个小巧但功能不凡的Web应用漏洞扫描器,能够对整个网站进行漏洞扫描,并能够对发现的漏洞(SQL注入,跨站脚本)进行验证;它也可以单独进行漏洞验证。 运行平台:Windows with .Net FrameWork 2.0或以上。 界面...
3.用户登录 1)表单验证 邮箱:非空、格式 密码:非空 2)Action逻辑 a.检测Email和密码是否正确,失败回到login_form.jsp提示 b.检测is_email_verify邮箱是否通过验证,未通过进入verify_form.jsp c.更新...
针对初学者,学习Ajax验证用户的唯一性实战是为了巩固Ajax,Jquery,Json与Struts2基础知识,具体内容如下 浏览效果图: 那我们就开始了,操作步骤如下 1.首先我们先导入所需要的包及文件 Json 包: struts2 包:...
在web页面中获取用户身份 在web页面中应用安全标签库 实现方法级安全 6、配置web.xml 7、Spring配置文件中设置命名空间 8、通过数据库验证用户身份 9、完善web页面验证规则 10、自定义验证配置 11、本地化消息输出...
之前的学习中,在对Session校验完成登录验证时,通常使用Filter来处理,方法类似与前文的错误日志过滤,即新建Filter类继承ActionFilterAttribute类,重写OnActionExecuting方法,之后直接在需要验证的Action前加上...
分析: 因为需要使用request方法中的getRequestURI()获取资源请求路径,Filter里的request是ServletRequest类型的而getRequsetURI()方法是...import javax.servlet.annotation.WebFilter; import javax
JDBC&Web;技术,实现增删改查,用户注册,登录验证等基本功能;使用mysql数据库,durid数据库连接池技术,结合web技术实现增删改查基本功能,使用servlet实现注册页面功能,验证码功能,使用filter实现登录验证功能。
buji-pac4j项目是Shiro Web应用程序和Web服务的简单而强大的安全性库,它支持身份验证和授权,还支持CSRF保护等高级功能。 它基于Java 8,Shiro 1.7和v5 。 它在Apache 2许可下可用。 代表认证机制。 它执行登录过程...
1.项目介绍 典型电子商务系统(在线购物平台),模拟了当当系统部分功能。...web.xml(配置Filter控制器) ... 4)WebRoot文件结构 /user/* :用户管理的JSP; ... 更多详情尽在压缩文件中,可自行下载查看~
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> <param-name>targetFilterLifecycle <param-value>true </filter> <filter-mapping> <filter-name>shiro...
项目框架设计: myeclipse+mysql+java web(servlet|jsp) 3.开发模式: MVC开发模式 注意: (1)创建项目与数据库时,采用UTF-8的编码. EncodingFilter (2)项目搭建 smbms src source folder ...
20.5 对用户进行统一验证的过滤器 594 20.6 对请求和响应数据进行替换的 20.6 过滤器 600 20.7 小结 609 第21章 中文乱码问题与国际化 610 21.1 中文乱码问题产生的由来 610 21.1.1 常用字符集 610 21.1.2 对...