我有一个 Web 应用程序,我希望主页包含登录表单以及其他数据。如果用户选择登录,他应该被重定向到另一个页面(例如 login_success.jsp)。我的问题是:我可以使用 j_security_check 机制登录还是唯一的方法是使用托管 bean 来处理登录?
我的主页如下所示:
....
<form action="j_security_check" method="POST" name="loginForm">
<h:panelGrid columns="2">
<h:outputLabel id="userNameLabel" for="j_username" value="#{label.home_username}:" />
<h:inputText id="j_username" autocomplete="off" />
<h:outputLabel id="passwordLabel" for="j_password" value="#{label.home_password}:" />
<h:inputSecret id="j_password" autocomplete="off" />
<h:panelGroup>
<h:commandButton type="submit" value="Login" />
<h:commandButton type="reset" value="Clear" />
</h:panelGroup>
</h:panelGrid>
</form>
...
如果我按下登录按钮,我会得到 -> HTTP Status 400 - Invalid direct reference to form login page。很明显,j_security_check 机制不知道“重定向”到哪里,因为我之前没有请求受保护的资源。