如何在JSF中进行密码屏蔽
我创建了一个数据库设置jsf页面,它显示页面加载期间属性文件中的值。用户将更新页面,然后单击提交,并在属性文件中更新值 我写了下面的代码 entity.hbm.xml mypageActionImpl.java 我正在更新我的实体 虽然我在页面加载期间设法从属性文件中显示密码,但它显示正确。但我不想在密码字段中显示实际密码。因为用户可以使用firebug扩展在页面源代码中查看密码。我想显示一些静态字符,比如“******”,而不是显示实际密码。当用户点击提交按钮时,我想保存由用户修改的密码如何在JSF中进行密码屏蔽,jsf,passwords,password-encryption,Jsf,Passwords,Password Encryption,我创建了一个数据库设置jsf页面,它显示页面加载期间属性文件中的值。用户将更新页面,然后单击提交,并在属性文件中更新值 我写了下面的代码 entity.hbm.xml mypageActionImpl.java 我正在更新我的实体 虽然我在页面加载期间设法从属性文件中显示密码,但它显示正确。但我不想在密码字段中显示实际密码。因为用户可以使用firebug扩展在页面源代码中查看密码。我想显示一些静态字符,比如“******”,而不是显示实际密码。当用户点击提交按钮时,我想保存由用户修改的密码 请提
请提出解决方案?预填充密码字段没有意义
getPassword()
应该返回null,或者我的意思是“
,或者甚至”*****“
。然后,用户可以看到的唯一密码就是他刚刚输入的密码,可能是正确的,也可能是不正确的,它将在POST上消失
我希望这并不意味着你有明文密码。如果你这样做了,你会遇到比这更大的问题。必须对密码进行哈希运算。请参阅原因和我的答案。请明智地使用现有的经过深思熟虑的框架来解决这类问题
<class name="mypageEntity"
table="tbl_user">
<id name="id" type="long">
<column name="ID" />
<property name="Password" type="java.lang.String"
column="PASSWORD" length="100" />
</id></class>
<h:inputSecret id="wspasswordInput" value="#{mypage.Password}" style="display:none;width:146px" maxlength="100" redisplay="true" autocomplete="off"></h:inputSecret>
public void setPassword(String Password) {
this.Password = Password;
}
public String getPassword() {
return Password;
}