Вы уж простите, я продолжаю изучение Silex. И теперь добрался до SecurityServiceProvider.
День попыток разобраться как работает SecurityServiceProvider не принес результатов. Прошу помощи, у меня серия вопросов.
Регистрация SSP:
$app->register(new Silex\Provider\SecurityServiceProvider());
$app['security.firewalls'] = array(
'admin' => array(
'pattern' => '^/admin',
'form' => array('login_path' => '/login', 'check_path' => '/admin/login_check'),
'http' => true,
'users' => array(
'admin' => array('admin', '123'),
),
),
);
а) На сколько я понимаю, пароли хранятся не в формате 123, в зашифрованном виде. Сразу возникает вопрос - как их шифровать? На этот счет в документации присутствует пример:
// find the encoder for a UserInterface instance
$encoder = $app['security.encoder_factory']->getEncoder($user);
// compute the encoded password for foo
$password = $encoder->encodePassword('foo', $user->getSalt());
Признаться, я не понимаю что означают две эти строчки. Можете пояснить?
б) Второй вопрос по регистрации у меня концептуальный. В рамках приведенного примера, получается что для каждого разделам на нужно прописывать такой элемент массива:
'admin' => array(
'pattern' => '^/admin',
'form' => array('login_path' => '/login', 'check_path' => '/admin/login_check'),
'http' => true,
'users' => array(
'admin' => array('admin', '123'),
),
),
Если так, то неужели придется прописывать отдельно еще и список юзеров для каждого отдельного раздела? Не может такого быть, имхо.