3

我们有一个基于 JSF (2.0) 的 Web 应用程序,在 JBoss 6.1 上运行。我们在 JAAS 中使用基于 FORM 的身份验证。

一些用户将“admin/editUser.jsf”之类的链接添加到他们的书签中。如果用户直接访问此页面(不使用应用程序内的导航),此页面将无法正常工作。

问题是:有没有办法在登录后将用户重定向到 index.jsf 页面,独立于请求的 url?

4

2 回答 2

6

那是不可能的。

如果您使用的是 Servlet 3.0(Tomcat 7 / Glassfish 3 / JBoss 6 / 等),那么最好的办法是使用编程登录HttpServletRequest#login()而不是 JAAS 表单。

所以,而不是

<form action="j_security_check" method="post">
    ...
    <input type="submit" />
</form>

利用

<h:form>
    ...
    <h:commandButton value="Login" action="#{bean.login}" />
</h:form>

public String login() {
    // ...

    request.login(username, password);

    // ...

    return "index.jsf?faces-redirect=true";
}

也可以看看:

于 2013-02-28T13:08:06.103 回答
-1

您可以使用导航规则,在提交登录表单后重定向用户,这是一个示例: http ://www.mkyong.com/jsf2/jsf-form-action-navigation-rule-example/

于 2013-02-28T11:48:20.893 回答