如何手动编码密码
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
如何手动编码密码
请注意
由于历史原因,Symfony使用了这个术语ob娱乐下载“密码编码”当它真的应该指“密码哈希”.编码器实际上是密码哈希函数.
例如,如果要在数据库中存储用户,则需要在插入用户密码之前对其进行编码。无论你为你的用户对象配置什么算法,哈希密码总是可以通过以下方式从控制器确定:
1 2 3 4 5 6 7 8 9 10 11
使用ob娱乐下载\组件\安全\核心\编码器\UserPasswordEncoderInterface;公共函数获取registerAction(UserPasswordEncoderInterface$编码器){//你的用户对象是什么$用户=新AppBundle \ \用户实体();$plainPassword=“ryanpass”;$编码=$编码器->encodePassword ($用户,$plainPassword);$用户->向setPassword ($编码);}
为了让它工作,只要确保你有编码器为你的用户类(例如。实体AppBundle \ \用户
)根据编码器
关键在应用程序/配置/ security.yml
.
的美元的编码器
对象也具有isPasswordValid ()
方法,该方法采用用户
对象作为第一个参数,要检查的普通密码作为第二个参数。
谨慎
当您允许用户提交明文密码(例如,注册表单,更改密码表单)时,您将必须进行验证,确保密码不超过4096个字符。详情请参阅如何使用简单的注册表格.
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。