tobur / simple-user
Installs: 34
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 1
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=7.1.3
- symfony/form: ^4.0
- symfony/framework-bundle: ^4.0
- symfony/monolog-bundle: ^3.1
- symfony/orm-pack: ^1.0
- symfony/security-bundle: ^4.0
- symfony/swiftmailer-bundle: ^2.3
- symfony/twig-bundle: ^4.0
- symfony/validator: ^4.0
- twig/twig: ^2.0
This package is not auto-updated.
Last update: 2024-05-12 02:56:34 UTC
README
Install
composer require tobur/simple-user v0.2
SimpleUser\SimpleUserBundle::class => ['all' => true],
Change you routing file:
simple_user_login:
resource: '@SimpleUserBundle/Resources/config/routing_login.yaml'
prefix: /admin/
simple_user_registration:
resource: '@SimpleUserBundle/Resources/config/routing_registration.yaml'
prefix: /
simple_user_password_reset:
resource: '@SimpleUserBundle/Resources/config/routing_password_reset.yaml'
prefix: /
Modify your firewalls:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
admin:
pattern: ^/admin
anonymous: ~
provider: user_provider
form_login:
login_path: simple_user_login
check_path: simple_user_login_check
default_target_path: '%redirect_after_login%'
username_parameter: '_username'
password_parameter: '_password'
post_only: true
logout:
path: simple_user_logout
target: simple_user_login
access_control:
- { path: ^/admin/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_USER }
- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY }
Create simple_user.yaml for configure bundle:
simple_user:
user_class: App\Entity\User
role_class: App\Entity\Role
firewall_name: admin
redirect_after_login: '%redirect_after_login%'
email:
from: %email_from%
Create entity classes:
<?php
namespace App\Entity;
use SimpleUser\Model\Role as BaseRole;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Entity
* @ORM\Table(name="role")
*/
class Role extends BaseRole
{
/**
* @ORM\ManyToMany(targetEntity="App\Entity\User", mappedBy="roles", cascade={"persist","remove"})
*
* @var ArrayCollection
*/
protected $users;
public function __construct() {
$this->users = new ArrayCollection();
}
}
<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use SimpleUser\Interfaces\SimpleUserRoleInterface;
use SimpleUser\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="user")
*/
class User extends BaseUser
{
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Role", inversedBy="users", cascade={"persist","remove"})
* @ORM\JoinTable(name="simple_user_to_role",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="role_id", referencedColumnName="id")}
* )
* @var SimpleUserRoleInterface[]
*/
protected $roles;
public function __construct() {
$this->roles = new ArrayCollection();
}
}
Update your database:
php bin/console doctrine:schema:update
Rewrite templates example:
/templates/bundles/SimpleUserBundle/Security/login.html.twig