【发布时间】:2015-01-19 00:13:10
【问题描述】:
(对不起我的英语,我说法语)
在我正在编写的过滤器中,我需要知道用户询问的 servlet 的名称。它将允许我检查 servlet 是否与我的数据库的条目匹配。 事实上,我正在编写一个限制过滤器。这就是它的工作原理:
- 用户尝试获取链接到“userListe”Servlet 的 URL /users/liste
- 第一个过滤器 (SimpleConnexion) 检查用户对象是否在 httpsession 中定义(= 用户是否已连接?)。如果用户已连接,则调用第二个过滤器,否则将发送指向连接页面的重定向。
- 在第二个过滤器 (AccessRights) 中,我需要 servlet 的名称 (userListe) 和服务方法(即 get、post、head、put、delete...)。
我检查数据库是否为当前用户的访问权限定义了条目 servletName-service。 如果是,则调用 servlet,否则重定向到连接页面。
如何在过滤器中获取当前 Servlet 对象或名称?
使用 Eclipse 的调试工具,我注意到作为 Filter.doFilter 方法的参数给出的 FilterChain 对象包含一个名为“userListe”的对象 servlet。但是这个对象是私有的,所以我不能使用它。你知道帮助我的方法吗?
((我真的需要在过滤器中完成这项工作,因为涉及到许多 servlet。))
谢谢你的帮助
【问题讨论】:
标签: java servlets servlet-filters