Files
ludikevent_crm/config/packages/security.yaml

49 lines
2.2 KiB
YAML
Raw Normal View History

# config/packages/security.yaml
2025-12-09 17:11:08 +01:00
security:
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
2025-12-09 17:11:08 +01:00
providers:
# Appelle votre provider d'utilisateurs.
# Ici, nous configurons un provider d'entité pour notre classe Account,
# en spécifiant 'username' comme propriété d'identification.
app_account_provider:
entity:
class: App\Entity\Account
property: email # Utilise le champ 'username' de votre entité Account pour l'authentification
2025-12-09 17:11:08 +01:00
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
2025-12-09 17:11:08 +01:00
security: false
2025-12-09 17:11:08 +01:00
main:
lazy: true
provider: app_account_provider # Utilise le provider que nous avons défini ci-dessus
user_checker: App\Security\UserChecker
form_login:
login_path: app_home # La route vers votre formulaire de connexion (GET)
check_path: app_home # L'URL où le formulaire POST sera soumis
enable_csrf: true # Active la protection CSRF
csrf_token_id: authenticate # ID du jeton CSRF (doit correspondre à celui dans votre Twig)
entry_point: App\Security\AuthenticationEntryPoint
custom_authenticator:
- App\Security\LoginFormAuthenticator
logout:
target: app_logout
2025-12-09 17:11:08 +01:00
# Configuration des algorithmes de hachage des mots de passe.
# Symfony choisira automatiquement le meilleur algorithme par défaut si non spécifié,
# mais vous pouvez le configurer explicitement.
password_hashers:
App\Entity\Account: 'auto' # 'auto' sélectionne le meilleur algorithme disponible (recommandé)
# Ou pour spécifier bcrypt explicitement :
# App\Entity\Account:
# algorithm: bcrypt
2025-12-09 17:11:08 +01:00
role_hierarchy:
ROLE_ROOT: [ROLE_ADMIN] # ROLE_ROOT inclut ROLE_ADMIN, qui à son tour inclut ROLE_ARTEMIS
2025-12-09 17:11:08 +01:00
access_control:
- { path: ^/admin, roles: [ROLE_ADMIN] }
- { path: ^/console, roles: [ROLE_COSPLAY] }
- { path: ^/, roles: PUBLIC_ACCESS } # Toutes les autres pages nécessitent une authentification complète