я борюсь с силикатной безопасностью:Silex конфигурация безопасности
У меня есть следующий:
$app->register(new Silex\Provider\SecurityServiceProvider());
и позже:
$app['security.firewalls'] = array(
'admin' => array(
'pattern' => '^/admin',
'http' => true,
'users' => array(
// raw password is foo
'admin' => array('ROLE_ADMIN', '5FZ2Z8QIkA7UTZ4BYkoC+GsReLf569mSKDsfods6LYQ8t+a8EW9oaircfMpmaLbPBh4FOBiiFyLfuZmTSUwzZg=='),
),
),
);
, но когда я попал путь «локальной/админ «Im получение:
Found error: No route found for "GET /admin"
не могу понять документы на странице silex rly .. Должен ли я регистрировать фильтры безопасности с контроллерами?
Idefined следующим образом функцию в контроллере:
public function admin(){
return 'Hello';
}
и маршрут для этого является:
$app->get('/admin', 'app.vendor_controller:admin');
теперь я получаю:
Hello
как только я попал путь/админ , без формы аутентификации. Таким образом, нет никакой аутентификации proccess включено ...
EDIT ~~~~~~~~~~~~~~~~~~~~~
ОК, так что теперь после удара URL/админ Я Я получаю аутентификационный баннер с полями для ввода, как пользователь и пароль, я набираю admin, foo, но на это нет никакого эффекта.
`A username and password are being requested by http://localhost:8080. The site says: “Secured”`
код выглядит следующим образом:
$app['security.firewalls'] = array(
'admin' => array(
'pattern' => '/admin',
'http' => true,
'users' => array(
'admin' => array('ROLE_ADMIN', 'foo')
)));
$app['security.access_rules'] = array(
array('/admin', 'ROLE_ADMIN'),
);
$app->register(new Silex\Provider\SecurityServiceProvider(), array(
'security.firewalls' => array(
'pattern' => '/admin',
'http' => true,
'users' => array(
// raw password is foo
'admin' => array('ROLE_ADMIN', 'foo'),
))));
вы настроены 'security.access_rules', чтобы только позволяет пользователю с ROLE_ADMIN? – Federkun
i belive i did not, как я могу это сделать? – filemonczyk
'' admin '=> array (' ROLE_ADMIN ',' foo ') ', кодер по умолчанию использует sha512, почему вы установили вместо него пароль с открытым текстом? вы изменили 'security.encoder.digest''? – Federkun