1

我想知道以下几点:

当请求进入 JSF servlet 时,如果会话 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 之类的东西,或者是关于它的 PhaseListeners/Filters 吗?

谢谢你。

4

1 回答 1

1

导航规则不是此类功能的好地方,因为NavigationHandler直到生命周期的后期(调用应用程序)才会调用导航规则。

替代文字
(来源:ibm.com


您可以使用声明性安全性(在 web.xml 中)重定向到登录页面。或者,如果您想对发生的事情进行更精细的控制,您可以使用过滤器进行重定向。

于 2010-05-14T20:43:43.350 回答