knplabs / rad-user
Simply handle password encryption and salt generation
Installs: 111 346
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 28
Forks: 4
Open Issues: 5
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
This package is auto-updated.
Last update: 2022-09-23 13:36:04 UTC
README
Unfortunately we decided to not maintain this project anymore (see why). If you want to mark another package as a replacement for this one please send an email to hello@knplabs.com.
Rapid Application Development : User
A Symfony bundle to simply handle password encryption and salt generation
Official maintainers:
Installation
composer require knplabs/rad-user:~2.0
class AppKernel { function registerBundles() { $bundles = array( //... new Knp\Rad\User\Bundle\UserBundle(), //... ); //... return $bundles; } }
Usages
I want to auto-generate my user salt
The salt feature is deprecated since PHP 5.5 and BCrypt usage. Please upgrade your version of PHP and use BCrypt.
Your User model should implement the Knp\Rad\User\HasSalt
interface.
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; }
Now, before your user is inserted into your database, the salt will be auto-generated.
I want to auto-generate my user password
Your User model should implement the Knp\Rad\User\HasInitialPassword
interface.
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; }
Now, before your user is inserted or updated into your database, then the plain password will be automaticly generated.
I want to auto-encode my user password
Your User model should implement the Knp\Rad\User\HasPassword
interface.
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; }
Now, before your user is inserted or updated into your database, if you have set the attribute 'plainPassword', then the password will be automaticly generated.
WARNING
The Knp\Rad\User\HasPassword\HasPassword
trait use the Knp\Rad\User\HasInitialPassword\HasInitialPassword
trait. So don't use both into the same class or you will have a method conflict.
Some tips
Using with MongoDB or CouchDB Object Document Mapper
The knp/rad-user library is also compatible with MongoDB and CouchDB