Silex Security success_handler

Как я могу установить success_handler (и fault_handler) для поставщика проверки подлинности формы?

Silex игнорирует меня с этим конфигом:

register(new Silex\Provider\SecurityServiceProvider(), array(
    'security.firewalls' => array(
        'dev' => array(
            'pattern' => '^/(_(profiler|wdt)|css|images|js)/',
            'security' => false
        ),
        'default' => array(
            'pattern' => '^/.*

И это мой обычай (никогда не вызывается)

$app['authentication_handler'] = $app->share(function ($app) {
            return new \WebFactory\Security\AuthenticationHandler($app['url_generator']);
        });

Это ошибка?

, 'anonymous' => true, 'form' => array( 'login_path' => '/login', 'check_path' => '/login_check', 'success_handler' => 'authentication_handler', // 'authentication_handler', // array('logout_path' => '/logout'), 'users' => $app->share(function () use ($app) { return new UserProvider($app['db']); }), ), ), 'security.access_rules' => array( array('^/login', 'IS_AUTHENTICATED_ANONYMOUSLY'), array('^/private

И это мой обычай (никогда не вызывается)

$app['authentication_handler'] = $app->share(function ($app) {
            return new \WebFactory\Security\AuthenticationHandler($app['url_generator']);
        });

Это ошибка?

, 'ROLE_ADMIN'), ), 'security.role_hierarchy' => array( 'ROLE_SIMPLE_USER' => array('ROLE_USER'), 'ROLE_ASSOCIATE' => array('ROLE_USER'), ) ));

И это мой обычай (никогда не вызывается)

$app['authentication_handler'] = $app->share(function ($app) {
            return new \WebFactory\Security\AuthenticationHandler($app['url_generator']);
        });

Это ошибка?

 ircmaxell24 июн. 2013 г., 20:41
Что за ошибка? У тебя нетне задал вопрос или сказал фактическое или желаемое поведение ...действительно трудно понять, что тыпытаюсь сделать ...
 TestDevelopment Development24 июн. 2013 г., 20:44
хорошо, объясни мне, если сможешь

Ответы на вопрос(1)

определяя службу, которая называетсяsecurity.authentication.success_handler.$name или жеsecurity.authentication.failure_handler.$name, где$name это имя брандмауэра.

Например:

$app->register(new Silex\Provider\SecurityServiceProvider(), array(
    'security.firewalls' => array(
        'foo' => ...,
    ),
));

$app['security.authentication.success_handler.foo'] = $app->share(function ($app) {
    return new Your\Own\SuccessHandler();
});

Затем поставщик услуг безопасности обнаружит обработчики по соглашению.

 igorw25 июн. 2013 г., 00:34
@TestDevelopmentDevelopment Вы можете получить варианты через$app['security.firewalls'][$fwName][$type] где$type один из ,formhttp, так далее.
 TestDevelopment Development24 июн. 2013 г., 22:14
Как передать аргументы для обработчика (например, $ options)? или, если у меня есть несколько поставщиков аутентификации, как я могу определить правильный обработчик аутентификации для каждого (успех и неудача) с его правильными аргументами?
 TestDevelopment Development25 июн. 2013 г., 13:46
я понимаю, но как я могу определить правильное значение $ type внутри определения этого сервиса общего доступа?

Ваш ответ на вопрос