我找到了基于jsf的应用程序的程序化登录示例,例如来自Balusc的this。 也许这是一个愚蠢的问题但是,当我使用基于表单的身份验证时,我只能使用一个带有
的简单html表单<input id="username" type="text" name="j_username" />
<input id="password" type="password" name="j_password"/>
以<form method="post" action="j_security_check">
形式。
我不能在示例中使用jsf表单,为什么?
答案 0 :(得分:1)
因为处理登录的不是JSF,所以它就是容器本身。 JSF <h:form>
不允许您指定特定的操作URL。所以你必须使用<form>
。
但你的问题标题令人困惑。使用j_security_check
表格不“程序化登录”。这是“容器管理登录”。 真正的程序化登录方式是自己调用HttpServletRequest#login()
。您可以在JSF托管bean操作方法中执行此操作,该方法由JSF <h:form>
调用。