tuxxydos / knplabs-rad-user
简单处理密码加密和盐生成
v4.2
2018-08-28 15:01 UTC
Requires
- php: ~7.0
- doctrine/common: ~2.4
- symfony/config: ~3.0 | ~4.0
- symfony/dependency-injection: ~3.0 | ~4.0
- symfony/http-kernel: ~3.0 | ~4.0
- symfony/security-core: ~3.0 | ~4.0
Requires (Dev)
- bossa/phpspec2-expect: ~3.0
- pedrotroller/php-cs-custom-fixer: ~2.15
- phpspec/phpspec: ~4.0
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
特性。因此,不要在同一个类中使用两者,否则将会有方法冲突。