acseo / change-password-bundle
此包的最新版本(1.0.21)没有提供许可证信息。
用于管理用户密码历史和用户更改密码策略的包
1.0.21
2019-08-08 09:48 UTC
Requires
- php: >=5.3.2
- friendsofsymfony/user-bundle: >=2.0.0
- symfony/security-bundle: >=2.6
This package is auto-updated.
Last update: 2024-08-29 03:52:48 UTC
README
#用户密码历史管理
目的
此Bundle允许管理用户密码历史。它已经开发和测试,可以与著名的FOSUserBundle Bundle一起使用。
此包的功能
- 每次用户更改密码时,在password_history表中存储用户的密码。
- 每次用户的密码超过30天时,将用户重定向到路由fos_user_change_password。
- 可选地,提供约束,禁止用户设置已使用过的密码。
安装
- 将此包添加到您的composer.json文件中
composer require 'acseo/change-password-bundle:dev-master'
- 启用Bundle
// app/AppKernel.php class AppKernel extends Kernel { public function registerBundles() { $bundles = array( //... new ACSEO\ChangePasswordBundle\ACSEOChangePasswordBundle(), //...
- 映射您的用户类 该Bundle使用一个实体PasswordHistory,该实体存储用户以前使用的散列密码。为了通用性,此实体与用户实体具有ManyToOne关系。此用户实体必须扩展抽象类FOS\UserBundle\Model\User。
编辑您的配置文件
# app/config/config.yml
doctrine:
orm:
resolve_target_entities:
"FOS\UserBundle\Model\User": "YourBundle\Entity\YourUser"
- 更新您的数据库以创建新的password_history表
$ app/console doctrine:schema:update --dump-sql
$ app/console doctrine:schema:update --force
从现在起,密码历史已设置。password_history表将存储更改过的用户密码。
- 启用密码历史约束
# src/YourBundle/Resources/config/validation.yml
YourBundle\Entity\YourUser:
properties:
# ...
plainPassword:
- ACSEO\ChangePasswordBundle\Validator\Constraints\NotInPreviousPasswords: ~
就这么多!
关于
请随意通过创建问题或提交拉取请求来评论或改进此Bundle