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

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - Java web過濾器驗證登錄防止未登錄進入界面

Java web過濾器驗證登錄防止未登錄進入界面

2020-06-07 13:32Alexia(minmin) JAVA教程

這篇文章主要介紹了Java web過濾器驗證登錄防止未登錄進入界面,在一些系統中經常可以用到此功能,對java web 驗證登錄知識感興趣的朋友一起看下吧

今天用ssh2寫了個簡單的系統,發現了一個問題,我這系統必須先登錄成功才能進入主頁,但我在瀏覽器里直接輸入主頁地址,發現也能進入,這個肯定不好,毫無安全性可言,后經查資料發現需要登錄過濾器,就試了下,發現果然可以避免未經登錄即可進入主頁的危險,下面是我整理出的詳細步驟:

1.首先寫一個權限過濾filter類,實現Filter接口

?
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
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;
public class LoginFilter implements Filter {
 @Override
 public void init(FilterConfig filterConfig) throws ServletException {
  // TODO Auto-generated method stub
 }
 @Override
 public void doFilter(ServletRequest request, ServletResponse response,
   FilterChain chain) throws IOException, ServletException {
  // 獲得在下面代碼中要用的request,response,session對象
  HttpServletRequest servletRequest = (HttpServletRequest) request;
  HttpServletResponse servletResponse = (HttpServletResponse) response;
  HttpSession session = servletRequest.getSession();
  // 獲得用戶請求的URI
  String path = servletRequest.getRequestURI();
  //System.out.println(path);
  // 從session里取員工工號信息
  String empId = (String) session.getAttribute("empId");
  /*創建類Constants.java,里面寫的是無需過濾的頁面
  for (int i = 0; i < Constants.NoFilter_Pages.length; i++) {
   if (path.indexOf(Constants.NoFilter_Pages[i]) > -1) {
    chain.doFilter(servletRequest, servletResponse);
    return;
   }
  }*/
  // 登陸頁面無需過濾
  if(path.indexOf("/login.jsp") > -1) {
   chain.doFilter(servletRequest, servletResponse);
   return;
  }
  // 判斷如果沒有取到員工信息,就跳轉到登陸頁面
  if (empId == null || "".equals(empId)) {
   // 跳轉到登陸頁面
   servletResponse.sendRedirect("/JingXing_OA/login.jsp");
  } else {
   // 已經登陸,繼續此次請求
   chain.doFilter(request, response);
  }
 }
 @Override
 public void destroy() {
  // TODO Auto-generated method stub
 }
}

2.然后在web.xml里配置需要登陸權限驗證的JSP文件:

  a.如果是某個具體的JSP文件(如a.jsp)需要登陸驗證

?
1
2
3
4
5
6
7
8
9
<!-- 配置登陸過濾器 -->
<filter>
  <filter-name>login</filter-name>
  <filter-class>com.jingxing.oa.filter.LoginFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>login</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

b.如果是某一個目錄(如a/目錄)整個目錄下的文件都需要登陸驗證:

?
1
2
3
4
5
6
7
8
9
<!-- 配置登陸過濾器 -->
 <filter>
  <filter-name>login</filter-name>
  <filter-class>com.jingxing.oa.filter.LoginFilter</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>login</filter-name>
  <url-pattern>/a/*</url-pattern>
 </filter-mapping>

以上所述是小編給大家介紹的Java web過濾器驗證登錄防止未登錄進入界面,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://blog.csdn.net/kpchen_0508/article/details/41088827

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产色综合久久五月色婷婷中文 | 青春草在线观看精品免费视频 | 能免费观看的韩剧 | 思思91精品国产综合在线 | 臀精插宫NP文| 日韩一区视频在线 | 国产情侣视频观看 | 欧美xxxxxbb | 2019国内自拍大神视频 | 99久久免费看精品国产一区 | 激情婷婷成人亚洲综合 | 性奶乳妇 | 亚洲国产cao| 成年无限观看onlyfans | 亚洲无线一二三四区 | 国产午夜精品一区二区三区不卡 | 亚洲成年网站在线观看 | 欧美成人精品福利网站 | 久久理论片迅播影院一级 | 国产精品视频视频久久 | 荡娃艳妇有声小说 | 国产永久一区二区三区 | 22sihu国产精品视频影视资讯 | 日本色吧 | 精品国产麻豆AV无码 | 好大~好爽~再进去一点 | 美女69xx | 国产日韩欧美在线播放 | 国产精品久久久久网站 | 精品亚洲国产一区二区 | 欧美人妖草草xxoo | 波多野结衣同性系列698 | 窝窝午夜精品一区二区 | 热99re久久精品国产 | chinese壮直男gay老年人 | 大团圆免费阅读全文 | 国产香蕉一区二区精品视频 | kayden·kross hd在线| 嫩草精品 | 精品久久日日躁夜夜躁AV | 91天堂一区二区 |