簡體   English   中英

我應該避免在Servlet中使用過濾器來檢查用戶是否已登錄

[英]Should I avoid use of filters in servlets to check whether user is logged in

我正在開發我的第一個基於Java的網站。 為了檢查用戶在訪問配置文件或任何其他敏感資源時是否已登錄,我實現了過濾器。 因為我在互聯網上到處都發現我們應該使用過濾器進行登錄檢查(>似乎是“標准”編碼方式)。 但是它僅執行以下檢查:

if(session.getAttribute("user")==null||session.getAttribute("user")=="")
     request.getRequestDispatcher("WEB-INF\\webpages\\SignIn.html").include(request, response);
else
    chain.doFilter().

但是為了避免出現“ NullPointerException”,我已經在所有地方實現了以下“檢查”:

if(session.getAttribute("user")==null||session.getAttribute("user")=="")

因此,我不認為應該使用過濾器進行登錄檢查,因為無論如何它會增加代碼設計的復雜性,例如在URL映射上進行額外的工作等。那么,我是否應該真正使用“僅用於登錄檢查”的過濾器?

最好在過濾器中使用會話檢查實現,而不是在每個Servlet / JSP中實現相同的檢查。 首先,這會阻止未經身份驗證的用戶訪問受限制的資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM