一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Spring MVC過濾器-登錄過濾的代碼實(shí)現(xiàn)

Spring MVC過濾器-登錄過濾的代碼實(shí)現(xiàn)

2020-07-23 12:53geloin Java教程

本篇文章主要介紹了Spring MVC過濾器-登錄過濾,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧。

一個(gè)非常簡(jiǎn)單的登錄權(quán)限攔截器,具體代碼如下:

以下代碼是繼承OncePerRequestFilter實(shí)現(xiàn)登錄過濾的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/**
 *
 * @author geloin
 * @date 2012-4-10 下午2:37:38
 */
package com.test.spring.filter;
 
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 org.springframework.web.filter.OncePerRequestFilter;
 
/**
 * 登錄過濾
 *
 * @author geloin
 * @date 2012-4-10 下午2:37:38
 */
public class SessionFilter extends OncePerRequestFilter {
 
  /*
   * (non-Javadoc)
   *
   * @see
   * org.springframework.web.filter.OncePerRequestFilter#doFilterInternal(
   * javax.servlet.http.HttpServletRequest,
   * javax.servlet.http.HttpServletResponse, javax.servlet.FilterChain)
   */
  @Override
  protected void doFilterInternal(HttpServletRequest request,
      HttpServletResponse response, FilterChain filterChain)
      throws ServletException, IOException {
 
    // 不過濾的uri
    String[] notFilter = new String[] { "login.html", "index.html" };
 
    // 請(qǐng)求的uri
    String uri = request.getRequestURI();
 
    // uri中包含background時(shí)才進(jìn)行過濾
    if (uri.indexOf("background") != -1) {
      // 是否過濾
      boolean doFilter = true;
      for (String s : notFilter) {
        if (uri.indexOf(s) != -1) {
          // 如果uri中包含不過濾的uri,則不進(jìn)行過濾
          doFilter = false;
          break;
        }
      }
      if (doFilter) {
        // 執(zhí)行過濾
        // 從session中獲取登錄者實(shí)體
        Object obj = request.getSession().getAttribute("loginedUser");
        if (null == obj) {
          // 如果session中不存在登錄者實(shí)體,則彈出框提示重新登錄
          // 設(shè)置request和response的字符集,防止亂碼
          request.setCharacterEncoding("UTF-8");
          response.setCharacterEncoding("UTF-8");
          PrintWriter out = response.getWriter();
          String loginPage = "....";
          StringBuilder builder = new StringBuilder();
          builder.append("<script type=\"text/javascript\">");
          builder.append("alert('網(wǎng)頁過期,請(qǐng)重新登錄!');");
          builder.append("window.top.location.href='");
          builder.append(loginPage);
          builder.append("';");
          builder.append("</script>");
          out.print(builder.toString());
        } else {
          // 如果session中存在登錄者實(shí)體,則繼續(xù)
          filterChain.doFilter(request, response);
        }
      } else {
        // 如果不執(zhí)行過濾,則繼續(xù)
        filterChain.doFilter(request, response);
      }
    } else {
      // 如果uri中不包含background,則繼續(xù)
      filterChain.doFilter(request, response);
    }
  }
 
}

寫完過濾器后,需要在web.xml中進(jìn)行配置:

?
1
2
3
4
5
6
7
8
<filter>
  <filter-name>sessionFilter</filter-name>
  <filter-class>com.test.spring.filter.SessionFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>sessionFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://blog.csdn.net/geloin/article/details/7445441

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产日产在线观看 | 性猛交娇小69hd| 羞羞视频动漫 | 国产欧美日韩视频在线观看一区二区 | 国产精品videosse | 人体欣赏孕妇季玥图片 | 国产短视频精品一区二区三区 | 韩国三级日本三级香港三级黄 | 国产精品一二区 | 成人夜视频寂寞在线观看 | 亚洲AV无码一区二区三区乱子伦 | 精品久久久久免费极品大片 | 亚洲一区二区三区91 | 亚洲四虎影院 | 99这里精品 | 91精品国产91热久久久久福利 | 男女肉粗暴进来下面好紧 | 亚洲欧美日韩天堂在线观看 | 猫咪av | 甜性涩爱 | 香蕉免费看一区二区三区 | 欧美一级在线 | bdsm酷刑折磨死美女 | 糖心vlog麻豆精东影业传媒 | 我和么公的秘密小说免费 | 国自产拍在线天天更新91 | 逼逼日| 98国产视频 | 久久精品一区二区三区资源网 | 成人观看免费观看视频 | 国产精品合集久久久久青苹果 | 久久久精品日本一区二区三区 | 涩涩屋在线观看 | 国产成人精品免费视频大全五级 | 91视在线国内在线播放酒店 | 国产精品高清一区二区三区 | 乌克兰成人性色生活片 | 二区三区不卡不卡视频 | 国产福利不卡视频在免费 | 亚洲444777KKK在线观看 | 香蕉91|