我应该避免在servlet中使用过滤器来检查用户是否已登录

问题描述 投票:0回答:1

我正在开发我的第一个基于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映射等方面付出额外的努力。所以,我真的应该使用过滤器“仅用于登录检查”吗?

java servlets filter servlet-filters
1个回答
-1
投票

最好在过滤器中进行会话检查实现,而不是在每个Servlet / JSP中实现相同的检查。这会阻止未经身份验证的用户首先访问受限资源。

© www.soinside.com 2019 - 2024. All rights reserved.