import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.FilterChain;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import com.gvninc.utils.StringUtils;
/**
* 登录验证过滤器 <br>
* Author:BluesLee <br>
* CreateDate:2008-6-21 <br>
* Modifier:BluesLee <br>
* ModifyDate:2008-6-21 <br>
* Version:1.0 <br>
* Copyright(c)2008 深蓝工作室 <br>
* All right reserved. <br>
*
*/
public class LoginRightFilter implements Filter {
private Logger logger = Logger.getLogger(this.getClass());
/**
* 未登陆时跳转目标页面
*/
private static String FORWARD = "/login.jsp";
/**
* 登录验证过滤器初始化 <br>
* Author:BluesLee <br>
* CreateDate:2008-6-21 <br>
* Modifier:BluesLee <br>
* ModifyDate:2008-6-21 <br>
* Version:1.0 <br>
*
* @param filterConfig
* @throws ServletException
*/
public void init(FilterConfig filterConfig) throws ServletException {
String forward = filterConfig.getInitParameter("forward");
StringUtils util=new StringUtils();
if (util.isNotNullStr(forward)) {
LoginRightFilter.FORWARD = forward;
}
}
/**
* 登录验证过滤 <br>
* Author:BluesLee <br>
* CreateDate:2008-6-21 <br>
* Modifier:BluesLee <br>
* ModifyDate:2008-6-21 <br>
* Version:1.0 <br>
*
* @param servletRequest
* @param servletResponse
* @param filterChain
* @throws IOException
* @throws ServletException
*/
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
HttpSession session = request.getSession(true);
Object user = session.getAttribute("user");
if (user != null) {
filterChain.doFilter(servletRequest, servletResponse);
} else {
logger.warn("用户未登陆,请先登陆!");
String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort() + request.getContextPath() + LoginRightFilter.FORWARD;
StringBuffer scriptString=new StringBuffer();
scriptString.append(" <script>\n\r");
scriptString.append("self.top.location.href=\""+url+"\"\n\r");
scriptString.append(" </script>\n\r");
response.getOutputStream().print(scriptString.toString());
}
}
public void destroy() {
}
}
分享到:
相关推荐
jsp+servlet登录验证过滤器jsp+servlet登录验证过滤器jsp+servlet登录验证过滤器
使用过滤器实现判断用户是否登录验证 使用过滤器实现判断用户是否登录验证
使用过滤器完成用户登录验证 学习过滤器参考文件
servlet 过滤器做的简单登陆demo 初学者的简单例子。
SSM登陆验证之过滤器实现,未登录用户访问首页自动拦截跳转到登陆页面,注释清楚,代码简介,适合初学者。
.NET MVC授权过滤器验证登录,使用Filter过滤器 验证用户登录Authorization Filter
比如说:在一个学校的教育管理系统中,你想看到该学校的课程信息MyClassInfor.jsp,必须先登录验证通过才能访问站内的资源,如果你直接访问MyClassInfor.jsp这个页面,那么系统一般会跳转到登录页面让你去登录。...
Asp.NetCore示例代码-权限验证-过滤器-设计模式等,提供大家参考。
用过滤器来验证用户是否登录
一个超帅的jsp过滤器 ,对登录进行验证
用户登录验证,当用户成功登录后,将用户信息存放在session中,然后以后的操作中,都使用过滤器进行验证用户是否登录,这样子会减少很多的代码开发量!
JavaScript项目:使用intellij idea设计过滤器验证用户登录项目+代码+报告
通过过滤器实现session全局变量,检测用户是否登陆
本文实例为大家分享了jsp实现登录验证的过滤器,供大家参考,具体内容如下 1.新建一个Dynamic Web Project项目,里面新建1个filter文件、1个servlet文件和2个jsp文件,整体的框架如图所示: 2.LoginFilter.java里面...
该压缩包实现了利用过滤器或者拦截器对登录信息进行验证跳转登陆页的功能,利用的是SpringBoot和thymeleaf,使用前请先看使用说明
jsp实现登录验证的过滤器.docx
可以通过过滤器来对客户进行一个登录验证权限过滤 过滤器会检查客户访问的页面是否是内容页面,如果是内容页面会检查该用户是否已经登录 如果已经登录,则放行访问 否则,可以提示用户并且自动跳转到登录界面。
Servlet过滤器,主要配置了中文乱码及未登陆验证过滤器。 代码简单明了,易学。 过滤器实现类 1、Filter接口:所有的Servlet过滤器类都必须实现javax.servlet.Filter接口 a、init(FilterConfig): 这是Servlet...
ASP.net 过滤器可以简便地验证登陆Seesion状况。
过滤器的简单使用代码,包括字符编码,检查字符,还有使用过滤器验证用户是否登录