Я пытаюсь сделать авторизацию в первый раз, используя Twig
и SecurityServiceProvider
.Silex и SecurityServiceProvider
Я пытаюсь использовать код из documentation:
Регистрация:
$app['security.firewalls'] = array(
'admin' => array(
'pattern' => '^/admin/',
'form' => array('login_path' => '/login', 'check_path' => '/admin/login_check'),
'users' => array(
'admin' => array('ROLE_ADMIN', '5FZ2Z8QIkA7UTZ4BYkoC+GsReLf569mSKDsfods6LYQ8t+a8EW9oaircfMpmaLbPBh4FOBiiFyLfuZmTSUwzZg=='),
),
),
);
Контроллер:
$app->get('/login', function(Request $request) use ($app) {
return $app['twig']->render('login.html', array(
'error' => $app['security.last_error']($request),
'last_username' => $app['session']->get('_security.last_username'),
));
});
Twig:
<form action="{{ path('admin_login_check') }}" method="post">
{{ error }}
<input type="text" name="_username" value="{{ last_username }}" />
<input type="password" name="_password" value="" />
<input type="submit" />
</form>
А вот ошибка я получил: InvalidArgumentException: Идентификатор «security.last_error» не определен.
Почему?
Вы проверили, есть ли какое-либо значение в первую очередь? Это может иметь значение только в том случае, если была ошибка, но вы ее эхом отзываете независимо. – gunnx