[英]Problem with activatin FORM authentfication with JSF 2.0
使用j_security_check在Java EE / JSF中执行用户身份验证
我尝试了这种解决方案。 但是如果我把它放到我的配置中
<login-config>
<auth-method>FORM</auth-method>
<realm-name>sql</realm-name>
<form-login-config>
<form-login-page>/login.xhtml</form-login-page>
<form-error-page>/index.xhtml</form-error-page>
</form-login-config>
</login-config>
代替
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>sql</realm-name>
</login-config>
基本身份验证的登录弹出窗口不再显示..这就是我所关注的。 但是随后出现的登录页面没有Inputfields ..没有faclet代码已执行。 怎么可能
我的login.xhtml代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Login</title>
</h:head>
<h:body>
<form action="j_security_check" method="post">
<h:outputLabel for="j_username">Username:</h:outputLabel>
<h:inputText id="j_username" required="true" />
<h:message for="j_username" />
<br />
<h:outputLabel for="j_password">Password:</h:outputLabel>
<h:inputSecret id="j_password" required="true" />
<h:message for="j_password" />
<br />
<h:commandButton value="Login" />
</form>
</h:body>
</html>
那就是所有显示的内容
Username:
Password:
换句话说,不会调用FacesServlet
。 另一个证据是,在浏览器中右键单击页面,选择“ 查看源代码” ,您将看到未处理JSF标记。 FacesServlet
是负责这一工作的人。
您需要更改登录页面的URL以匹配FacesServlet
的url-pattern
。 如果是例如*.jsf
,则更新如下:
<form-login-page>/login.jsf</form-login-page>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.