国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 13:55:47
字體:
來源:轉載
供稿:網友

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

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

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)需要登陸驗證

<!-- 配置登陸過濾器 --><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/目錄)整個目錄下的文件都需要登陸驗證:

<!-- 配置登陸過濾器 --> <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過濾器驗證登錄防止未登錄進入界面,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 溆浦县| 仙游县| 察哈| 司法| 盘山县| 平山县| 天峨县| 济南市| 岳阳县| 永胜县| 乌鲁木齐市| 五峰| 新河县| 麻阳| 合水县| 调兵山市| 永年县| 内丘县| 柞水县| 义马市| 石城县| 崇文区| 漯河市| 盈江县| 富锦市| 富源县| 锦州市| 信丰县| 栖霞市| 谢通门县| 黑龙江省| 东安县| 元阳县| 甘孜| 孝义市| 金阳县| 竹溪县| 泗洪县| 咸阳市| 龙井市| 卓尼县|