tuxxydos/knplabs-rad-user

简单处理密码加密和盐生成

v4.2 2018-08-28 15:01 UTC

This package is auto-updated.

Last update: 2024-09-28 18:05:28 UTC


README

通过分支来保持使用 Symfony 5.x 中的特定功能

快速应用开发:用户

一个 Symfony 扩展包,由 @KnpLabs 提供,用于简化密码加密处理

安装

composer require tuxxydos/knplabs-rad-user
class AppKernel
{
    function registerBundles()
    {
        $bundles = array(
            //...
            new Knp\Rad\User\Bundle\UserBundle(),
            //...
        );

        //...

        return $bundles;
    }
}

用法

我想自动生成用户密码

您的用户模型应实现 Knp\Rad\User\HasInitialPassword 接口。

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Knp\Rad\User\HasInitialPassword;

/**
 * @ORM\Entity
 */
class User implements HasInitialPassword
{
    use HasInitialPassword\HasInitialPassword; // You can also use this trait

    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column
     */
    private $password;
}

现在,在您的用户被插入或更新到数据库之前,明文密码将被自动生成。

我想自动编码用户密码

您的用户模型应实现 Knp\Rad\User\HasPassword 接口。

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Knp\Rad\User\HasPassword;

/**
 * @ORM\Entity
 */
class User implements HasPassword
{
    use HasPassword\HasPassword; // You can also use this trait

    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column
     */
    private $password;
}

现在,在您的用户被插入或更新到数据库之前,如果您已设置属性 'plainPassword',则密码将被自动生成。

警告

Knp\Rad\User\HasPassword\HasPassword 特性使用了 Knp\Rad\User\HasInitialPassword\HasInitialPassword 特性。因此,不要在同一个类中使用两者,否则将会有方法冲突。