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

服務(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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 春宵福利网站在线观看 | 免费一级毛片在线播放放视频 | 久久成人精品免费播放 | 免费日批 | 久久精品动漫99精品动漫 | 精品久久久久久国产91 | 爆操俄罗斯美女 | 午夜福利体检 | 国产精品怡红院在线观看 | 亚洲XXX午休国产熟女屁 | 成人免费一区二区三区在线观看 | 色婷婷六月丁香在线观看 | 亚洲国产AV无码综合在线 | 狠狠干2017 | 情欲满载2012美国dvd | 91动漫在线观看 | 91视在线国内在线播放酒店 | 欧美日韩精品一区二区三区视频播放 | 1024国产看片在线观看 | 性xxxx中国| 99在线观看免费视频 | 亚洲美色综合天天久久综合精品 | 欧美日韩精品在线视频 | 美女精品永久福利在线 | 精品日本一区二区 | 成人在线免费观看视频 | 国产日韩精品一区二区在线观看 | 欧美亚洲一区二区三区在线 | 91精品免费国产高清在线 | 韩国最新理论片奇忧影院 | 国产激情视频在线 | juliaann主妇疯狂| 国内精品99| 日本黄a三级三级三级 | 日韩精品成人 | 欧美香蕉视频 | 国产精品香蕉在线观看不卡 | 国产成人愉拍免费视频 | 波多野结衣 在线播放 | 成人在线日韩 | 亚洲一区二区三区深夜天堂 |