Хорошо, ребята, я уже 10 часов ищу решение своей проблемы. Мой брандмауэр на Symfony 2.7 не перенаправляет меня, если я не вошел в систему.
Если я захожу на domain.com/admin/, брандмауэр должен перенаправить меня на / login, но не на.
Я использую FOSUSerBundle.
Я всегда получаю это сообщение об ошибке:
Вы не авторизованы 401 Не авторизован — HttpException 1 связан
Исключение: AuthenticationCredentialsNotFoundException »
Вот мой код:
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
admin:
pattern: ^/
context: site
form_login:
provider: fos_userbundle
check_path: /login_check
login_path: /login
logout:
path: /admin/logout
anonymous: false
Мой контроль доступа:
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
Вот код в PhpStorm, если вы предпочитаете:
Спасибо за вашу помощь!
Наконец я нашел проблему! FOSRestBundle конфликтует с FOSUserBundle. Если я отключу RestBundle в config.yml, все работает !!
Итак, я просто перенес свой пакет API в другой проект Symfony.
Один проект для моего API и один проект для моего сайта.
Других решений пока нет …