你的位置:首页 > 软件开发 > Java > 基于springMVC实现登录过滤器

基于springMVC实现登录过滤器

发布时间:2017-04-08 00:00:21
此文章是基于 搭建Jquery+SpringMVC+Spring+Hibernate+MySQL平台 一. 准备工作  1. 点击此下载相关文件,并把文件放到 ims 工程对应的文件夹下 二. 相关文件介绍  1. LoginFilter.java:登录过滤器,保证每次的 ...

此文章是基于 搭建Jquery+SpringMVC+Spring+Hibernate+MySQL平台

 

一. 准备工作

  1. 点击此下载相关文件,并把文件放到 ims 工程对应的文件夹下

 

二. 相关文件介绍

  1. LoginFilter.java:登录过滤器,保证每次的url访问都对session进行验证

基于springMVC实现登录过滤器基于springMVC实现登录过滤器
package com.ims.web;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.FilterChain;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.springframework.web.filter.OncePerRequestFilter;import com.ims.common.ConfigHolder;/** * 登陆过滤器 */public class LoginFilter extends OncePerRequestFilter{  @Override  protected void doFilterInternal(HttpServletRequest request,      HttpServletResponse response, FilterChain filterChain)      throws ServletException, IOException {    // 不拦截的url    String[] notFilter = new String[] {"/login.do","/service"};    // 请求的url    String url = request.getRequestURI();        boolean doFilter = chek(notFilter, url);    if (doFilter) {      HttpSession session = request.getSession();      Object obj = session.getAttribute(ConfigHolder.getValue("session.sys.user"));      if (null == obj) {        // 如果session中不存在登录者实体,则弹出框提示重新登录        PrintWriter out = response.getWriter();        String loginPage = request.getContextPath() + "/login.do";        StringBuilder builder = new StringBuilder();        builder.append("<script type=\"text/javascript\">");        builder.append("window.top.location.href='");        builder.append(loginPage);        builder.append("';");        builder.append("</script>");        out.print(builder.toString());      } else {        filterChain.doFilter(request, response);      }    } else {      filterChain.doFilter(request, response);    }  }  /**   * 检查是否拦截   * @param notFilter 不拦截的url        * @param url 请求的url   * @return false:不拦截 true:拦截   */  public boolean chek(String[] notFilter, String url) {    // 图片、脚本、css、页面不进行拦截    if (url.endsWith(".css") || url.endsWith(".js")       || url.endsWith(".png") || url.endsWith(".jpg")      || url.endsWith(".gif") || url.endsWith(".jsp")      || url.endsWith(".html")) {      return false;    }    // 含有notFilter中的任何一个则不进行拦截    for (String s : notFilter) {      if (url.indexOf(s) != -1) {        return false;      }    }    return true;  }}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:基于springMVC实现登录过滤器

关键词:Spring

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录