最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java web過(guò)濾器驗(yàn)證登錄防止未登錄進(jìn)入界面

 更新時(shí)間:2016年08月25日 10:26:43   作者:Alexia(minmin)  
這篇文章主要介紹了Java web過(guò)濾器驗(yàn)證登錄防止未登錄進(jìn)入界面,在一些系統(tǒng)中經(jīng)??梢杂玫酱斯δ埽瑢?duì)java web 驗(yàn)證登錄知識(shí)感興趣的朋友一起看下吧

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

1.首先寫(xiě)一個(gè)權(quán)限過(guò)濾filter類(lèi),實(shí)現(xiàn)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對(duì)象
  HttpServletRequest servletRequest = (HttpServletRequest) request;
  HttpServletResponse servletResponse = (HttpServletResponse) response;
  HttpSession session = servletRequest.getSession();
  // 獲得用戶請(qǐng)求的URI
  String path = servletRequest.getRequestURI();
  //System.out.println(path);
  // 從session里取員工工號(hào)信息
  String empId = (String) session.getAttribute("empId");
  /*創(chuàng)建類(lèi)Constants.java,里面寫(xiě)的是無(wú)需過(guò)濾的頁(yè)面
  for (int i = 0; i < Constants.NoFilter_Pages.length; i++) {
   if (path.indexOf(Constants.NoFilter_Pages[i]) > -1) {
    chain.doFilter(servletRequest, servletResponse);
    return;
   }
  }*/
  // 登陸頁(yè)面無(wú)需過(guò)濾
  if(path.indexOf("/login.jsp") > -1) {
   chain.doFilter(servletRequest, servletResponse);
   return;
  }
  // 判斷如果沒(méi)有取到員工信息,就跳轉(zhuǎn)到登陸頁(yè)面
  if (empId == null || "".equals(empId)) {
   // 跳轉(zhuǎn)到登陸頁(yè)面
   servletResponse.sendRedirect("/JingXing_OA/login.jsp");
  } else {
   // 已經(jīng)登陸,繼續(xù)此次請(qǐng)求
   chain.doFilter(request, response);
  }
 }
 @Override
 public void destroy() {
  // TODO Auto-generated method stub
 }
}

2.然后在web.xml里配置需要登陸權(quán)限驗(yàn)證的JSP文件:

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

<!-- 配置登陸過(guò)濾器 -->
<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.如果是某一個(gè)目錄(如a/目錄)整個(gè)目錄下的文件都需要登陸驗(yàn)證:

<!-- 配置登陸過(guò)濾器 -->
 <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過(guò)濾器驗(yàn)證登錄防止未登錄進(jìn)入界面,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java將Word文檔轉(zhuǎn)換為PDF文件的幾種常用方法總結(jié)

    Java將Word文檔轉(zhuǎn)換為PDF文件的幾種常用方法總結(jié)

    這篇文章主要介紹了Java將Word文檔轉(zhuǎn)換為PDF文件的四種常用方法,分別使用ApachePOI+iText、Aspose.Words?for?Java、Docx4j和JODConverter,這些庫(kù)各有優(yōu)點(diǎn),但在使用時(shí)需要注意庫(kù)與Java環(huán)境的兼容性、安裝所需依賴、轉(zhuǎn)換速度和資源消耗,需要的朋友可以參考下
    2024-10-10
  • Java調(diào)用opencv實(shí)現(xiàn)圖片矯正功能

    Java調(diào)用opencv實(shí)現(xiàn)圖片矯正功能

    這篇文章主要為大家詳細(xì)介紹了Java如何調(diào)用opencv實(shí)現(xiàn)圖片矯正功能,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-09-09
  • Spring @Order注解的使用小結(jié)

    Spring @Order注解的使用小結(jié)

    本文主要介紹了Spring @Order注解的使用小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • 使用位運(yùn)算、值交換等方式反轉(zhuǎn)java字符串的多種方法(四種方法)

    使用位運(yùn)算、值交換等方式反轉(zhuǎn)java字符串的多種方法(四種方法)

    這篇文章主要介紹了使用位運(yùn)算、值交換等方式反轉(zhuǎn)java字符串,本文通過(guò)四種方式給大家講解,給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Spring接口ApplicationRunner用法詳解

    Spring接口ApplicationRunner用法詳解

    這篇文章主要介紹了Spring接口ApplicationRunner的作用和使用介紹,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • java計(jì)算時(shí)間差的方法

    java計(jì)算時(shí)間差的方法

    這篇文章主要介紹了java計(jì)算時(shí)間差的方法,涉及java針對(duì)時(shí)間的轉(zhuǎn)換與計(jì)算相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • 通過(guò)入門(mén)demo簡(jiǎn)單了解netty使用方法

    通過(guò)入門(mén)demo簡(jiǎn)單了解netty使用方法

    這篇文章主要介紹了通過(guò)入門(mén)demo簡(jiǎn)單了解netty使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 如何在IDEA運(yùn)行spark程序(搭建Spark開(kāi)發(fā)環(huán)境)

    如何在IDEA運(yùn)行spark程序(搭建Spark開(kāi)發(fā)環(huán)境)

    spark程序可以通過(guò)pom.xml的文件配置,添加spark-core依賴,可以直接在IDEA中編寫(xiě)spark程序并運(yùn)行結(jié)果,這篇文章主要介紹了如何在IDEA運(yùn)行spark程序(搭建Spark開(kāi)發(fā)環(huán)境),需要的朋友可以參考下
    2024-02-02
  • Java多線程的同步優(yōu)化的6種方案

    Java多線程的同步優(yōu)化的6種方案

    大家使用多線程無(wú)非是為了提高性能,在Java中,有多線程并發(fā)時(shí),我們可以使用多線程同步的方式來(lái)解決內(nèi)存一致性的問(wèn)題。本文就詳細(xì)的介紹了Java多線程同步優(yōu)化,感興趣的可以了解一下
    2021-05-05
  • Spring集成事務(wù)代碼實(shí)例

    Spring集成事務(wù)代碼實(shí)例

    這篇文章主要介紹了Spring集成事務(wù)代碼實(shí)例,pring事務(wù)的本質(zhì)其實(shí)就是數(shù)據(jù)庫(kù)對(duì)事務(wù)的支持,使用JDBC的事務(wù)管理機(jī)制,就是利用java.sql.Connection對(duì)象完成對(duì)事務(wù)的提交,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

天峻县| 浑源县| 潜山县| 醴陵市| 平果县| 泗洪县| 莒南县| 喀什市| 万盛区| 扬中市| 南江县| 三台县| 扎鲁特旗| 来安县| 来宾市| 大厂| 淮南市| 扎赉特旗| 杨浦区| 大同市| 勃利县| 柏乡县| 聂拉木县| 陇川县| 武邑县| 绥江县| 仁寿县| 永仁县| 葫芦岛市| 布拖县| 兰溪市| 普定县| 汕头市| 湖州市| 东台市| 思南县| 常州市| 十堰市| 九台市| 云南省| 三台县|