Symfony自定义用户提供程序/ salting密码

时间:2012-03-16 18:51:08

标签: php authentication symfony1 salt

我正在为我的应用程序使用DynamoDB,因此在身份验证方面,我不能选择ORM原则。

我已经创建了一个基本的用户提供程序,并且在使用sha1哈希时使其工作正常,但是我完全陷入/不理解如何使用salt。

仅供参考:我的代码基于手册中的guide

代码:

提交“新用户”表单后,抓取原始数据并执行以下操作然后继续保存到数据库 - 这样可以正常工作:

    $salt = '79fdshjh408hjhgd87r5438ujl';
    $password = base64_encode(sha1($rawPassword.'{'.$salt.'}')); 

在进行身份验证时,我有一个'userProvider',它根据来自数据库的用户名请求用户详细信息 - 这也正常,我已经返回了所有详细信息

//WebserviceUserProvider.php
$username = $userData['userName'];
$password = $userData['password'];
$roles[0] = 'ROLE_ADMIN';
$salt = '79fdshjh408hjhgd87r5438ujl';

return new WebserviceUser($username, $password, $salt, $roles);

WebserviceUser文件是docs:

中文件的直接副本

security.yml

    security:
      encoders:
        HvH\SecurityBundle\Security\WebserviceUser: 
          algorithm:   sha1
          iterations: 1
          encode_as_base64: true

如果有人能指出我正确的方向,我将不胜感激。

谢谢

0 个答案:

没有答案