【发布时间】:2011-11-18 02:05:54
【问题描述】:
我正在尝试了解 Struts2 拦截器。如果我的问题很愚蠢,请原谅。
我猜拦截器是特定于动作类的(这意味着在调用特定动作类之前,它们会被调用)。
例如:
<action name="test" class="com.jranch.Test">
<interceptor-ref name="GuiStack”/>
<result name="success">/secure.jsp</result>
</action>
我的问题是:假设必须保护网站中的图片免受未经授权的访问(意味着如果用户直接在浏览器中输入 URL,则在登录之前不应允许他们查看图片)。
我的观点是,如果它与 Servlet 过滤器有关,我可以通过将 url-pattern 标签放入 /* 来编写一个简单的过滤器来检查所有请求。 Struts2 拦截器能否处理这个问题,因为我猜它们是特定于动作类的?
如果我错了,请纠正我。
【问题讨论】:
-
动作属于一个包,大多数情况下拦截器被分组到一个拦截器堆栈中,然后应用于一个包。正如您所展示的,您都可以将拦截器应用于特定操作。 “struts2 in action”一书展示了如何实现您所要求的基本安全性,并解释了您需要了解它的内容(解决方案几乎就是 umesh 提供的)。由于我提到了一本书,所以如果您需要快速上手,只提“Apache Struts 2 Web 应用程序开发”是公平的,不妨同时订购。
标签: struts2