Я пытаюсь установить административную часть веб-страницы под аутентификацию Мне удалось настроить пользователя и пароль, но когда я вхожу в систему с пользователем и соответствующим паролем, вход в систему невозможен. Как я могу отладить это? В чем может быть проблема?Ошибка аутентификации в silex SecurityServiceProvider
$app['security.encoder.digest'] = function ($app) {
// uses the password-compat encryption
return new BCryptPasswordEncoder(10);
};
$app['security.encoder_factory'] = function ($app) {
return new EncoderFactory(
array(
'Symfony\Component\Security\Core\User\UserInterface' => $app['security.encoder.digest']
)
);
};
$app->register(new Silex\Provider\SecurityServiceProvider(), array(
'security.firewalls' => array(
'admin' => array(
'pattern' => '^/admin',
'http' => true,
'users' => function() use ($app) {
$dbs = new \FMP\Service\DbService($app);
return new UserProvider($dbs->getDb(), $app['form.factory']);
}
)
)
));
Я установил пароль пользователя с помощью этого:
$encoder = $encoderFactory->getEncoder($user);
// compute the encoded password for foo
$password = $encoder->encodePassword($user->getPassword(), $user->getSalt());
Журналы:
[2016-11-24 15:41:51] app.DEBUG: система инициализации пользователей [ ] [] [2016-11-24 15:41:51] app.INFO: Соответствующий маршрут «{route}». {"route": "GET_admin_users", "route_parameters": {"_ controller": "[object] (Закрытие: {})", "_ route": "GET_admin_users"}, "request_uri": "http://dev.fmp2/admin/users", " «method»: «GET»} [] [2016-11-24 15:41:51] app.INFO: Исключение аутентификации: thrown; перенаправление на точку входа аутентификации. { "исключение": "[объект] (Symfony \ Component \ Security \ Основные \ Exception \ AuthenticationCredentialsNotFoundException (код: 0). Токен не был найден в TokenStorage на /дома/andref/рабочее пространство/fmpsite2/поставщик/symfony/security/Http/Firewall/AccessListener.php: 53) "} [] [2016-11-24 15:41:51] app.DEBUG: Вызов записи аутентификации пункт. [] [] [2016-11-24 15:41:51] app.DEBUG: < 401 [] []
Как вы установили пароль для пользователя? Вы пробовали использовать простой текстовый кодировщик? – mTorres
Попытка – Andy
Даже с PlaintextPasswordEncoder() Я не могу аутентифицироваться. Я попробовал функцию отладки loadUserByUsername ($ username), но он не вызван. – Andy