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.

[php]

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 }

[/php]

Ş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.

Cem Karakurt: