security.yaml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. security:
  2. # https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
  3. password_hashers:
  4. Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
  5. # https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider
  6. providers:
  7. # used to reload user from session & other features (e.g. switch_user)
  8. app_user_provider:
  9. entity:
  10. class: App\Entity\User
  11. property: email
  12. firewalls:
  13. dev:
  14. pattern: ^/(_(profiler|wdt)|css|images|js)/
  15. security: false
  16. main:
  17. lazy: true
  18. provider: app_user_provider
  19. # activate different ways to authenticate
  20. # https://symfony.com/doc/current/security.html#the-firewall
  21. # https://symfony.com/doc/current/security/impersonating_user.html
  22. # switch_user: true
  23. role_hierarchy:
  24. # USER : utilisateur simple authentifié, suivi des réservations de ses parties, annulations, demandes de parties...
  25. ROLE_USER: ~
  26. # STAFF : utilisateur avec des droits étendus, gestion des parties, des utilisateurs, des gamemasters...
  27. ROLE_STAFF: [ROLE_USER]
  28. # MANAGER : utilisateur avec des droits étendus, gestion des parties, des utilisateurs, des gamemasters...
  29. ROLE_MANAGER: [ROLE_STAFF]
  30. # ADMIN : utilisateur avec des droits étendus, gestion des parties, des utilisateurs, des gamemasters...
  31. ROLE_ADMIN: [ROLE_MANAGER]
  32. # Easy way to control access for large sections of your site
  33. # Note: Only the *first* access control that matches will be used
  34. access_control:
  35. #- { path: ^/admin, roles: ROLE_ADMIN }
  36. #- { path: ^/profile, roles: ROLE_USER }
  37. when@test:
  38. security:
  39. password_hashers:
  40. # By default, password hashers are resource intensive and take time. This is
  41. # important to generate secure password hashes. In tests however, secure hashes
  42. # are not important, waste resources and increase test times. The following
  43. # reduces the work factor to the lowest possible values.
  44. Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
  45. algorithm: auto
  46. cost: 4 # Lowest possible value for bcrypt
  47. time_cost: 3 # Lowest possible value for argon
  48. memory_cost: 10 # Lowest possible value for argon