acseo/change-password-bundle

此包的最新版本(1.0.21)没有提供许可证信息。

用于管理用户密码历史和用户更改密码策略的包

安装: 272

依赖: 0

建议者: 0

安全: 0

星级: 4

关注者: 5

分支: 2

开放问题: 1

类型:symfony-bundle

1.0.21 2019-08-08 09:48 UTC

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
  • 可选地,提供约束,禁止用户设置已使用过的密码。

安装

  1. 将此包添加到您的composer.json文件中
composer require 'acseo/change-password-bundle:dev-master'
  1. 启用Bundle
// app/AppKernel.php
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
        //...
        new ACSEO\ChangePasswordBundle\ACSEOChangePasswordBundle(),
        //...
  1. 映射您的用户类 该Bundle使用一个实体PasswordHistory,该实体存储用户以前使用的散列密码。为了通用性,此实体与用户实体具有ManyToOne关系。此用户实体必须扩展抽象类FOS\UserBundle\Model\User

编辑您的配置文件

# app/config/config.yml
doctrine:
    orm:
        resolve_target_entities:
            "FOS\UserBundle\Model\User": "YourBundle\Entity\YourUser"
  1. 更新您的数据库以创建新的password_history
$ app/console doctrine:schema:update --dump-sql
$ app/console doctrine:schema:update --force

从现在起,密码历史已设置。password_history表将存储更改过的用户密码。

  1. 启用密码历史约束
# src/YourBundle/Resources/config/validation.yml
YourBundle\Entity\YourUser:
    properties:
        # ...
        plainPassword:
            - ACSEO\ChangePasswordBundle\Validator\Constraints\NotInPreviousPasswords: ~

就这么多!

关于

请随意通过创建问题或提交拉取请求来评论或改进此Bundle