added custom authenticator
This commit is contained in:
		@@ -1,18 +1,20 @@
 | 
				
			|||||||
security:
 | 
					security:
 | 
				
			||||||
 | 
					    enable_authenticator_manager: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    hide_user_not_found: false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
 | 
				
			||||||
    password_hashers:
 | 
					    password_hashers:
 | 
				
			||||||
 | 
					        Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
 | 
				
			||||||
        App\Entity\User:
 | 
					        App\Entity\User:
 | 
				
			||||||
            algorithm: auto
 | 
					            algorithm: auto
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
 | 
					    # https://symfony.com/doc/current/security.html#loading-the-user-the-user-provider
 | 
				
			||||||
    providers:
 | 
					    providers:
 | 
				
			||||||
        # used to reload user from session & other features (e.g. switch_user)
 | 
					 | 
				
			||||||
        app_user_provider:
 | 
					        app_user_provider:
 | 
				
			||||||
            entity:
 | 
					            entity:
 | 
				
			||||||
                class: App\Entity\User
 | 
					                class: App\Entity\User
 | 
				
			||||||
                property: username
 | 
					                property: username
 | 
				
			||||||
 | 
					 | 
				
			||||||
    enable_authenticator_manager: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    firewalls:
 | 
					    firewalls:
 | 
				
			||||||
        dev:
 | 
					        dev:
 | 
				
			||||||
            pattern: ^/(_(profiler|wdt)|css|images|js)/
 | 
					            pattern: ^/(_(profiler|wdt)|css|images|js)/
 | 
				
			||||||
@@ -20,16 +22,15 @@ security:
 | 
				
			|||||||
        main:
 | 
					        main:
 | 
				
			||||||
            lazy: true
 | 
					            lazy: true
 | 
				
			||||||
            provider: app_user_provider
 | 
					            provider: app_user_provider
 | 
				
			||||||
            guard:
 | 
					            custom_authenticator: App\Security\LoginFormAuthenticator
 | 
				
			||||||
                authenticators:
 | 
					            logout: true
 | 
				
			||||||
                    - App\Security\AppAuthenticator
 | 
					
 | 
				
			||||||
            logout:
 | 
					            remember_me:
 | 
				
			||||||
                path: app_logout
 | 
					                secret: '%kernel.secret%'
 | 
				
			||||||
                # where to redirect after logout
 | 
					                signature_properties: [password]
 | 
				
			||||||
                # target: app_any_route
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # activate different ways to authenticate
 | 
					            # activate different ways to authenticate
 | 
				
			||||||
            # https://symfony.com/doc/current/security.html#firewalls-authentication
 | 
					            # https://symfony.com/doc/current/security.html#the-firewall
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # https://symfony.com/doc/current/security/impersonating_user.html
 | 
					            # https://symfony.com/doc/current/security/impersonating_user.html
 | 
				
			||||||
            # switch_user: true
 | 
					            # switch_user: true
 | 
				
			||||||
@@ -37,6 +38,18 @@ security:
 | 
				
			|||||||
    # Easy way to control access for large sections of your site
 | 
					    # Easy way to control access for large sections of your site
 | 
				
			||||||
    # Note: Only the *first* access control that matches will be used
 | 
					    # Note: Only the *first* access control that matches will be used
 | 
				
			||||||
    access_control:
 | 
					    access_control:
 | 
				
			||||||
        # - { path: ^/admin/login, roles: PUBLIC_ACCESS }
 | 
					        - { path: ^/admin, roles: ROLE_ADMIN }
 | 
				
			||||||
        # - { path: ^/admin, roles: ROLE_ADMIN }
 | 
					        - { path: ^/profile/edit, roles: ROLE_USER }
 | 
				
			||||||
        # - { path: ^/profile, roles: ROLE_USER }
 | 
					
 | 
				
			||||||
 | 
					when@test:
 | 
				
			||||||
 | 
					    security:
 | 
				
			||||||
 | 
					        password_hashers:
 | 
				
			||||||
 | 
					            # By default, password hashers are resource intensive and take time. This is
 | 
				
			||||||
 | 
					            # important to generate secure password hashes. In tests however, secure hashes
 | 
				
			||||||
 | 
					            # are not important, waste resources and increase test times. The following
 | 
				
			||||||
 | 
					            # reduces the work factor to the lowest possible values.
 | 
				
			||||||
 | 
					            Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
 | 
				
			||||||
 | 
					                algorithm: auto
 | 
				
			||||||
 | 
					                cost: 4 # Lowest possible value for bcrypt
 | 
				
			||||||
 | 
					                time_cost: 3 # Lowest possible value for argon
 | 
				
			||||||
 | 
					                memory_cost: 10 # Lowest possible value for argon
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user