我现在遇到了Servlet过滤器的麻烦。 我的问题是-每当用户更改url(键入url,redirect等)时,我都想进行验证,从而使用Forward调度程序创建一个简单的过滤器。 但是,这会导致另一个问题-我不想每次执行1个操作时都执行doFilter。 例如:单击一个按钮。 我的方法只能满足第一个麻烦。 您有解决我问题的方法吗? 谢谢。

#1楼 票数:0

您可以使用以下代码检查事件源:

String[] eventSource = request.getParameterMap().get("javax.faces.source");

这里的eventSource[0]提供了您在xhtml上设置的按钮ID。

因此,在doFilter方法中,您可以针对该请求执行以下操作以简单地完成过滤器操作:

if (eventSource != null && 
    eventSource.length > 0 &&
    eventSource[0].equals("myButtonId"))
{
    chain.doFilter();
    return;
}

  ask by Thien Dinh translate from so

未解决问题?本站智能推荐:

3回复

如何使用PrimeFaces重定向JSF?

我正在尝试在JSF上建立一个基本的安全系统,如果用户没有登录并尝试访问受限制的页面,他将被重定向到login.xhtml。 这是在servlet过滤器中完成的。 我的问题是当使用resp.sendRedirect(“login.xhtml”)时; 登录页面丢失所有资源,CSS,脚本等。
2回复

如何在JSF中实现登录过滤器?

我想阻止某些页面的访问,即使用户知道某些页面的URL。 例如,如果/localhost:8080/user/home.xhtml (首先需要登录)(如果未登录),则重定向到/index.xhtml 。 在JSF中如何? 我在Google中读到了一个过滤器,但我不知道该怎么做。
1回复

FacesContext#getCurrentInstance()在Filter#doFilter()中返回null

里面一个 我想要使​​用会话 但我意识到FacesContext.getCurrentInstance()返回null 。 我知道我可以使用((HttpServletRequest) req).getSession(false)来获取会话,但我的具体问题是: 为什么在doFil
1回复

如何控制JSF中的访问权限和权限?

我希望在用户登录系统后控制访问权限。 例如: 因此,在知道用户具有哪些权限后,检查数据库,我想限制该用户可以看到和执行的操作。 有一个简单的方法吗? 编辑
1回复

JSF 2中的Web过滤器如何?

我创建了这个过滤器: 这是我的结构: 然后我在web.xml中添加过滤器: 过滤器按预期工作,但不断给我这个错误: 之后我的富有表面不再适用了。 我怎么解决这个问题? 或者正确创建Web过滤器?
2回复

如何在JSF中@WebFilter重定向后修复空白页面?

我正在使用 JSF 制作一个应用程序,如果他没有登录,我想使用@WebFilter 将用户从每个页面(不包括 login/register.xhtml)重定向到 login.xhtml。 问题是在重定向之后,我看到的只是一个空白页面。 我认为它正在过滤包括 bootstrap.css 在内的所有资
2回复

如何创建JSF Filter / url-pattern来保护javascripts

我编写了一个Java Web过滤器来处理我的JSF应用程序的安全性。 我有这样的过滤器映射: 现在我想创建一个url-pattern来过滤所有的javascript文件。 我正在使用Primefaces,因此.js文件将在以下URL中重新检索: 我无法过滤整个javax.fa
1回复

使用Tuckey URL重写时,仅JSF页面而不是静态资源的过滤器模式

我正在实现一个过滤器,以将过期的用户重定向到密码页面。 我还使用了Tuckey URL重写来隐藏.xhtml扩展名。 我现在的问题是如何设置过滤器以仅过滤JSF页面而不过滤静态资源?