не могу защитить свой путь с помощью silex securityServiceProvider

Я пытаюсь создать простой код аутентификации для своего приложения Silex, но не могу заставить его работать.

Я часами пытался понять, где ошибка, но не могу ее найти. Вот код:

use Symfony\Component\Security\Core\User\User;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

$app = new Silex\Application();
$app['debug'] = true;

$app->register(new Silex\Provider\SessionServiceProvider());
$app->register(new Silex\Provider\UrlGeneratorServiceProvider());

$app->register(new Silex\Provider\SecurityServiceProvider(), array(
   'security.firewalls' =>  array(
       'admin' => array(
           'pattern' => '^/admin.*',
           'http' => true,
           'form' => array(
               'login_path' => '/login',
               'check_path' => '/admin/login_check',
           ),
           'logout' => array(
               'logout_path' => '/admin/logout',
               'invalidate_session' => true
           ),
           'users' => $usersData,
       ),
    )
));

$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'),
    ));
});

Приложение не блокирует какой-либо путь, я действительно не понимаю, чего мне не хватает, поскольку я уже делал это в другом приложении, и там все работает нормально...

Спасибо заранее за любую помощь.


person fes    schedule 01.10.2015    source источник
comment
$usersData где-то определен? (в любом случае вам нужно выбрать между «http» и «form» в брандмауэре безопасности, вы не можете иметь оба)   -  person fain182    schedule 02.10.2015
comment
Спасибо за помощь @fain182, $usersData извлекается из базы данных, когда я выгружаю ее, я получаю: array(1) { ["admin"]=> array(2) { [0]=> string(10) "ROLE_ADMIN" [1]=> string(88) "5FZ2Z8QIkA7UTZ4BYkoC+GsReLf569mSKDsfods6LYQ8t+a8EW9oaircfMpmaLbPBh4FOBiiFyLfuZmTSUwzZg==" } }   -  person fes    schedule 02.10.2015
comment
также я переключил http на false, но, похоже, ничего не изменилось. Регулярное выражение работает так, как и ожидалось, как и другие компоненты Symfony, которые я использую (User).   -  person fes    schedule 02.10.2015


Ответы (1)


У меня была проблема с подготовкой моей бродячей машины, я пересобрал все с нуля, и теперь все работает без нареканий.

person fes    schedule 05.10.2015