security:
...
password_hashers:
...
Adeliom\EasyAdminUserBundle\Entity\User: argon2i
security:
...
role_hierarchy:
...
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
ROLE_ADMIN: [ROLE_USER]
security:
...
providers:
...
easy_admin_user_provider:
id: easy_admin_user.user_provider
security:
...
firewalls:
...
admin:
lazy: true
pattern: ^/admin
provider: easy_admin_user_provider
custom_authenticator: easy_admin_user.authenticator
# https://symfony.com/doc/current/security/impersonating_user.html
switch_user: { role: ROLE_ALLOWED_TO_SWITCH }
remember_me:
secret: "%env(APP_SECRET)%"
name: ADMIN_REMEMBER_ME
lifetime: 31536000
path: /admin
remember_me_parameter: _admin_remember_me
logout:
path: easy_admin_logout
target: easy_admin_login
...
main:
...
security:
...
access_control:
...
- { path: ^/admin/login$, roles: PUBLIC_ACCESS }
- { path: ^/admin/logout, roles: PUBLIC_ACCESS }
- { path: ^/admin/reset-password, roles: PUBLIC_ACCESS }
- { path: ^/admin, roles: ROLE_ADMIN }
php bin/console easy-admin:add-user email@example.com password --super-admin
Go to your dashboard controller, example : src/Controller/Admin/DashboardController.php
<?php
namespace App\Controller\Admin;
...
use Adeliom\EasyAdminUserBundle\Controller\Admin\EasyAdminUserTrait;
class DashboardController extends AbstractDashboardController
{
...
use EasyAdminUserTrait;
...
public function configureMenuItems(): iterable
{
...
yield from $this->administratorMenuEntry();
...