Symfony “Full authentication is required to access this resource” Hatası

tarafından
Symfony “Full authentication is required to access this resource” Hatası

Hatayı görünce ilk olarak security.yaml dosyasına göz attım. Çünkü hatanın firewall ayarlarından ortaya çıktığı belliydi. Uzun süre kurcalamam hatta çoğu şeyi yeniden kurmam sonrasında hatayı düzeltemedim. Neyse ki daha önce github üzerinden bu soru sorulmuş.

Bu hatanın birden fazla nedeni olabilir çünkü security dosyasında bir ton ayar var. Bu yüzden ben sadece benim yanlış yaptığım yeri gösteriyorum.


security:
    encoders:
        App\Entity\User:
            algorithm: bcrypt
    providers:
        app_user_provider:
            entity:
                class: App\Entity\User
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        login:
            pattern:  ^/api/login
            stateless: true
            anonymous: true
            json_login:
                check_path:               /api/login
                success_handler:          lexik_jwt_authentication.handler.authentication_success
                failure_handler:          lexik_jwt_authentication.handler.authentication_failure

        api:
            pattern:   ^/api
            stateless: true
            anonymous: false
            provider: app_user_provider
            guard:
                authenticators:
                    - lexik_jwt_authentication.jwt_token_authenticator
        main:
            anonymous: true
    role_hierarchy:
        ROLE_USER: ROLE_USER
            # activate different ways to authenticate

            # http_basic: true
            # https://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate

            # form_login: true
            # https://symfony.com/doc/current/security/form_login_setup.html

    # 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: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/api/register, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/api,      roles: IS_AUTHENTICATED_ANONYMOUSLY }

Şimdi yukarıda dikkat etmeniz gereken kısım “firewalls:” kısmı. Bu kısımda bizim login kontrolümüz yapılıyor. Burda dikkat etmemiz gereken kısım “main:” olan firewall’ın en altta olması gerekiyor. Ben ortalara bir yerlere koyduğum için sorun yaşamışım. Yaml dosyası olsada sıralamanın yazılımı etkileyebileceğini unutmayın.

İlginizi Çekebilir :   Symfony Doctrine SQLSTATE[HY000] [2002] Hatası