onAuthenticationSuccess是否会在Silex中的HTTP身份验证中被触发?

I have setup a security firewall and a SuccessHandler for my application. The relevant snippets are:

$app -> register(new SecurityServiceProvider(), array(
    'security.firewalls' => array(
      'auth' => array(
        'pattern' => "^/auth",
        'http' => true,
        'users' => $app -> share(function() use ($app) {
            return new \Model\Manager\Account($app);
        })
      )
    'security.access_rules' => array(
      array('^/auth.*$', 'ROLE_USER')
    ),
));

$app['security.authentication.success_handler.auth'] = $app -> share(function() use ($app) {
  return new Handlers\Authentication\Auth\SuccessHandler($app['security.http_utils'], array(), $app);
});

The 'auth' has got the 'http' authentication set to true and indeed when I go to the url 'http://myserver/auth' I get a Basic Authentication challenge.

However when I log in correctly I get the page that I wanted, but I have not gone via the SuccessHandler that I have setup. Is this supported when using HTTP auth or only when using form based authentication?

If it is not supported is there a way I can achieve the same thing? I have been looking at EventSubscriber but I did not know how to wire this up in Silex to listen for the appropriate event.

Thanks, Russell

UPDATE:

My SuccessHandler has the following.

```

<?php

namespace Handlers\Authentication\Auth;

use Symfony\Component\Security\Core\Exception\AuthenticationException;
use Symfony\Component\Security\Http\Authentication\DefaultAuthenticationSuccessHandler;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Http\HttpUtils;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\HttpKernel\HttpKernelInterface;
use Silex\Application;

class SuccessHandler extends DefaultAuthenticationSuccessHandler {

    protected $app = null;

    public function __construct(HttpUtils $httpUtils, array $options, Application $app) {

        parent::__construct($httpUtils, $options);
        $this -> app = $app;
    }

    public function onAuthenticationSuccess(Request $request, TokenInterface $token) {

        // get the user from the token
        $user = $token -> getUser();
dump($user);
exit;
        // redirect user to the page they requested
        return $this -> httpUtils -> createRedirectResponse($request, $this -> determineTargetUrl($request));

    }
}

```

As you can see all I am trying to do is show the user details and then exit out. I know this is not what I would normally do but I am trying to make sure the onAuthenticationSuccess gets called, which it is not, although authentication is working.