knplabs/rad-user

该软件包已被弃用且不再维护。没有建议的替代软件包。

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

v3.1.1 2018-08-28 15:01 UTC

This package is auto-updated.

Last update: 2022-09-23 13:36:04 UTC


README

很遗憾,我们决定不再维护此项目 anymore (查看原因)。如果您想将其他软件包标记为替代品,请发送电子邮件至 hello@knplabs.com

快速应用程序开发:用户

一个用于简单处理密码加密和盐值生成的 Symfony 扩展包

Build Status Scrutinizer Code Quality Latest Stable Version Total Downloads Latest Unstable Version License

官方维护者

安装

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

        //...

        return $bundles;
    }
}

用法

我想自动生成我的用户盐值

由于PHP 5.5及更高版本中已弃用盐值功能以及BCrypt的使用,请升级您的PHP版本并使用BCrypt。

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

namespace App\Entity;

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

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

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

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

现在,在用户被插入您的数据库之前,盐值将被自动生成。

我想自动生成我的用户密码

您的用户模型应实现 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 特性。因此,不要在同一个类中使用两者,否则将出现方法冲突。

一些提示

与MongoDB或CouchDB对象文档映射器一起使用

knp/rad-user 库也兼容MongoDB和CouchDB。