【问题标题】:Implementing session-based security in Java servlet在 Java servlet 中实现基于会话的安全性
【发布时间】:2013-02-09 18:27:02
【问题描述】:

我正在使用 Tomcat、Servlet 和 JSP 开发一个本地项目。这个项目将是一个简单的单登录博客,有一个后台管理员可以登录并创建帖子和页面。我陷入了需要对将出现在管理部分中的每个 servlet 强制执行会话检查的情况。成功的管理员登录后,我创建了一个会话标志,将在每个管理页面上检查作为安全措施。

现在,由于在这种情况下将用于 servlet 的仅有两个方法是 doGet 或 doPost,我是否应该创建一个方法来检查每个 servlet 中的管理会话,然后在每个 doGet/ 之前调用该方法doPost,还是有更好的实现方式?

谢谢。

【问题讨论】:

  • 最好使用过滤器而不是检查每个 servlet 中的会话。

标签: java jsp session servlets


【解决方案1】:

使用Filters 可以解决您的问题。在您的 web.xml 添加过滤器并根据需要实现它。

<filter>
    <filter-name>Sample Filter</filter-name>
    <filter-class>
        com.example.SampleFilter
    </filter-class>

</filter>
<filter-mapping>
    <filter-name>Sample Filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

【讨论】:

  • 完美。正是我想要的。
【解决方案2】:

如果您想避免重新发明轮子,我建议您使用Spring Security。它有一点学习曲线,但基本用例可以用 simple configuration 覆盖。有good quality documentation 和大量可用的教程/文章。

【讨论】:

  • 我同意您的建议,并且已将您提到的链接添加为书签。但现在我正在从头开始学习 Java,因此中途停留在 servlet。
猜你喜欢
  • 2012-04-15
  • 2015-10-23
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 2010-09-18
  • 1970-01-01
  • 2017-02-20
  • 2017-03-22
相关资源
最近更新 更多