gnu-social/config/packages/security.yaml

55 lines
1.9 KiB
YAML

security:
enable_authenticator_manager: true
password_hashers:
App\Entity\LocalUser:
algorithm: auto
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
local_user:
chain:
providers: [local_user_by_nickname, local_user_by_email]
local_user_by_nickname:
entity:
class: 'App\Entity\LocalUser'
property: 'nickname'
local_user_by_email:
entity:
class: 'App\Entity\LocalUser'
property: 'outgoing_email'
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
lazy: true
provider: local_user
form_login:
login_path: security_login
check_path: security_login
default_target_path: root
logout:
path: security_logout
# where to redirect after logout
target: root
# remember_me:
# secret: '%kernel.secret%'
# secure: true
# httponly: '%remember_me_httponly%'
# samesite: '%remember_me_samesite%'
# token_provider: 'Symfony\Bridge\Doctrine\Security\RememberMe\DoctrineTokenProvider'
# custom_authenticator: 'App\Core\Security'
# activate different ways to authenticate
# https://symfony.com/doc/current/security.html#firewalls-authentication
# https://symfony.com/doc/current/security/impersonating_user.html
# switch_user: true
# Easy way to control access for large sections of your site
# Note: Only the *first* access control that matches will be used
access_control:
- { path: ^/admin, roles: ROLE_OPERATOR }
- { path: ^/settings, roles: ROLE_VISITOR }