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

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

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

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

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

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

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

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

1.首先寫一個權(quán)限過濾filter類,實現(xiàn)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");
  /*創(chuàng)建類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;
  }
  // 判斷如果沒有取到員工信息,就跳轉(zhuǎn)到登陸頁面
  if (empId == null || "".equals(empId)) {
   // 跳轉(zhuǎn)到登陸頁面
   servletResponse.sendRedirect("/JingXing_OA/login.jsp");
  } else {
   // 已經(jīng)登陸,繼續(xù)此次請求
   chain.doFilter(request, response);
  }
 }
 @Override
 public void destroy() {
  // TODO Auto-generated method stub
 }
}

2.然后在web.xml里配置需要登陸權(quán)限驗證的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過濾器驗證登錄防止未登錄進入界面,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 被夫上司侵犯了中文字幕 | 日本中年japanesebear | 水蜜桃一二二区视在线 | 日韩高清无砖砖区2022 | 婷婷日日夜夜 | 日本艳鉧动漫1~6完整版在 | 国产馆精品推荐在线观看 | 日韩欧美成末人一区二区三区 | 爸爸的宝贝小说全文在线阅读 | 99精品国产高清一区二区三区香蕉 | 污软件在线观看 | 牛人国产偷窥女洗浴在线观看 | japanesen女同| 四虎在线视频免费观看 | 草逼视频免费看 | 亚洲 无码 制服 日韩 | 国产精品成人免费福利 | 日本三级s级在线播放 | 91精品国产高清久久久久 | 久见久热 这里只有精品 | 日本在线观看www | 全黄h全肉细节文在线观看 全彩成人18h漫画 | 跪在老师脚下吃丝袜脚 | 免费视频专区一国产盗摄 | 国产精品一区二区国产 | 国产男人天堂 | 精品亚洲麻豆1区2区3区 | 日韩毛片免费在线观看 | 欧美日韩一区二区三区免费 | 亚洲精品无码久久不卡 | 亚洲大片在线观看 | 免费人成网址在线观看国内 | 欧美亚洲国产成人不卡 | 亚洲国产精品一区二区久久 | 秋霞网毛片 | 国产高清视频网站 | 国产a一级毛片爽爽影院 | 天若有情1992国语版完整版 | 日本 在线播放 | 国产高清自拍视频 | 亚洲第五色综合网啪啪 |