Я переделываю свое приложение Silex в Symfony 4, так как Silex устареет через пару месяцев.Все отлично работает, но у меня есть небольшая проблема с пакетом безопасности Symfony.
Проблема в том, что я пытаюсь войти в приложение, но оно всегда перенаправляет меня обратно в мое приложение без отображаемой ошибки.
Я полагаю, это может быть неверная конфигурация, но у меня естьЯ искал какие-то проблемы, и я не могу найти никаких ошибок.
Вот мой security.yaml
providers:
in_memory:
memory:
users:
admin:
password: foo
roles: ROLE_ADMIN
encoders:
Symfony\Component\Security\Core\User\User: plaintext
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
context: 'secured'
pattern: '^/login'
anonymous: true
provider: in_memory
secured_area:
context: 'secured'
pattern: '^(/admin|/api)'
provider: in_memory
form_login:
login_path: /login/
check_path: /admin/check/
default_target_path: /admin/
logout:
path: /admin/logout/
target: /
invalidate_session: true
access_control:
- { path: '^(/admin|/api)', roles: ROLE_ADMIN }
LoginController
/**
* @Route("/login/", name="login")
*/
public function login(Request $request, AuthorizationCheckerInterface $authChecker, AuthenticationUtils $authUtils): Response
{
$isLoggedIn = $authChecker->isGranted('ROLE_ADMIN');
if ($isLoggedIn) {
return $this->redirectToRoute('admin');
}
return $this->render('login/index.html.twig', [
'error' => $authUtils->getLastAuthenticationError(),
'last_username' => $authUtils->getLastUsername()
]);
}
Я попытался установить опцию check_path
на /login/check/
и другие подобные маршруты, но затем Symfony бросилисключение, что маршрут не создан (я думаю, он не должен быть создан).