代码之家  ›  专栏  ›  技术社区  ›  CDSO1

JSF2:在导航规则中使用EL。超时时重定向?

  •  1
  • CDSO1  · 技术社区  · 15 年前

    我想知道以下几点:

    当请求进入jsfservlet时,如果会话bean指示会话尚未登录,是否可以重定向到会话超时页?

    例如:

    <navigation-rule>
        <from-view-id>*</from-view-id>
        <navigation-case>
            <if>#{not userBean.loggedIn}</if>
            <to-view-id>/login.jsf</to-view-id>
            <redirect/>
        </navigation-case>
    </navigation-rule>
    

    显然,它需要从这个规则中排除login.jsf…但是你明白了。我也尝试过类似的方法,但它似乎不起作用,即使起作用了,它将如何处理书签URL?

    如何在JSF2中最好地实现这一点?另外,JSF2中是否有类似于ASP.NET中的global.asax的东西,或者是否有PhaseListener/Filters?

    非常感谢。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Glorfindel Doug L.    6 年前

    由于 NavigationHandler 直到生命周期的晚期才被调用(调用应用程序)。

    alt text
    ibm.com )


    你可以用 declarative security (在web.xml中)重定向到登录页。或者,您可以使用 Filter 如果你想更精细地控制发生的事情。