我有一个使用JSF 2.0制作的简单登录页面.通常在每个登录页面中,Web浏览器建议用户将其用户名保存为密码.
我在Oracle的网站上看到用户必须验证当我输入用户名和密码时,浏览器不会问我是否要保存用户名和密码.也许有一种方法可以从登录页面的代码中禁用它.
这可能吗?
Bal*_*usC 13
您基本上需要向autocomplete="off"HTML <form>元素添加属性.但是,不支持此属性<h:form>.它仅支持个人<h:inputText>和<h:inputSecret>组件.
所以,这应该做:
<h:form>
<h:inputText value="#{auth.username}" required="true" autocomplete="off" />
<h:inputSecret value="#{auth.password}" required="true" autocomplete="off" />
<h:commandButton value="Login" action="#{auth.login}" />
<h:messages />
</h:form>
Run Code Online (Sandbox Code Playgroud)
新autocomplete属性<h:form>计划用于JSF 2.2.另请参阅JSF规范问题418.
或者,如果您正在使用容器管理登录,无论如何j_security_check都需要普通的HTML <form>,那么只需将其添加到其中:
<form action="j_security_check" method="post" autocomplete="off">
<input type="text" name="j_username" />
<input type="password" name="j_password" />
<input type="submit" value="Login" />
</form>
Run Code Online (Sandbox Code Playgroud)
<h:inputText>标签文档(提及autocomplete属性)<h:inputSecret>标签文档(提及autocomplete属性)