Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/acseo/acseochangepasswordbundle
Bundle used to manage User password history and user change password policy
https://github.com/acseo/acseochangepasswordbundle
bundle password-history php symfony symfony-bundle
Last synced: about 2 months ago
JSON representation
Bundle used to manage User password history and user change password policy
- Host: GitHub
- URL: https://github.com/acseo/acseochangepasswordbundle
- Owner: acseo
- License: mit
- Created: 2015-06-03T13:15:13.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-08-08T09:49:47.000Z (over 5 years ago)
- Last Synced: 2024-04-03T07:20:47.312Z (9 months ago)
- Topics: bundle, password-history, php, symfony, symfony-bundle
- Language: PHP
- Size: 21.5 KB
- Stars: 4
- Watchers: 5
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#User Password History Management
## Purpose
This Bundle allows to manage user password history. It has been developped and tested to work with the famous FOSUserBundle Bundle.
What this bundle does :
- Store the User's password whenever this password is changed in the table _password_history_.
- Redirect the User to the route __fos_user_change_password__ eveytime the User's password is older than 30 days.
- Optionaly, provide a constraints that forbids the User to set a password if this password has already been used.## Installation
1) Add the bundle to you composer.json file :
```
composer require 'acseo/change-password-bundle:dev-master'
```2) Enable the Bundle
```php
// app/AppKernel.php
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
//...
new ACSEO\ChangePasswordBundle\ACSEOChangePasswordBundle(),
//...
```3) Map your User Class
The bundle use an Entity, *PasswordHistory*, which store previous hashed passwords used by an user. In order to be generic, this entity has a ManyToOne relation with a User entity. This user Entity _must_ extends the *FOS\UserBundle\Model\User* abstract class.Edit your config file :
```
# app/config/config.yml
doctrine:
orm:
resolve_target_entities:
"FOS\UserBundle\Model\User": "YourBundle\Entity\YourUser"
```4) Update your database to create the new *password_history* table
```
$ app/console doctrine:schema:update --dump-sql
$ app/console doctrine:schema:update --force
```*From now Password History is set up. The table password_history will store the changed user password whenever this password is changed*
5) Enable Password history constraint
```
# src/YourBundle/Resources/config/validation.yml
YourBundle\Entity\YourUser:
properties:
# ...
plainPassword:
- ACSEO\ChangePasswordBundle\Validator\Constraints\NotInPreviousPasswords: ~
```*And that's it !*
## About
Feel free to comment or improve this bundle by creating issues or submitting pull requests