如何手动编码密码
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 3.0,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.3(当前的稳定版本)。
如何手动编码密码
请注意
由于历史原因,Symfony使用这个词ob娱乐下载“密码编码”当它真的应该参考“密码哈希”。“编码器”实际上是加密哈希函数。
举例来说,如果你存储在数据库中,用户需要对用户的密码编码之前插入它们。不管你什么算法为用户配置对象,散列密码总是可以决定从一个控制器以下列方式:
1 2 3 4 5 6 7
/ / * *用户对象美元用户=新AppBundle \ \用户实体();美元plainPassword=“ryanpass”;美元编码器=美元这- >容器- >get (“security.password_encoder”);美元编码=美元编码器- >encodePassword (美元用户,美元plainPassword);美元用户- >向setPassword (美元编码);
为了使这个工作,只要确保你有你的用户类的编码器(如。实体AppBundle \ \用户
)配置下编码器
关键在应用程序/配置/ security.yml
。
的美元的编码器
对象也有一个isPasswordValid
方法,该方法采用用户
对象作为第一个参数和普通密码检查作为第二个参数。
谨慎
当你允许用户提交一个明文密码(如注册表单,更改密码的形式),你必须验证,保证密码是4096个字符或更少。了解更多细节如何实现一个简单的注册表单吗。
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。