share(function (PhraseaApplication $app) { $user = $app['authentication']->getUser(); if ($user instanceof User) { return new PreAuthenticatedToken((string)$user->getId(), null, 'fake', ['ROLE_USER']); } return new AnonymousToken('fake', 'anon.', []); }); $app['phraseanet.access_manager'] = $app->share(function (PhraseaApplication $app) { return new AccessDecisionManager($app['phraseanet.voters']); }); $app['phraseanet.voters'] = $app->share(function () { return [new MockedAuthenticatedVoter()]; }); $app['phraseanet.authorization_checker'] = $app->share(function (PhraseaApplication $app) { return new AuthorizationChecker( $app['phraseanet.access_manager'], $app['phraseanet.security_token'] ); }); } public function boot(Application $app) { // Nothing to do } }