Skip to content

Commit 5ee49bf

Browse files
javiereguiluzGuikingone
authored andcommitted
Use the new Security helper in some code examples
1 parent 1744254 commit 5ee49bf

File tree

2 files changed

+12
-24
lines changed

2 files changed

+12
-24
lines changed

controller/argument_value_resolver.rst

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -91,16 +91,15 @@ retrieved from the token storage::
9191
use Symfony\Component\HttpFoundation\Request;
9292
use Symfony\Component\HttpKernel\Controller\ArgumentValueResolverInterface;
9393
use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata;
94-
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
95-
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
94+
use Symfony\Component\Security\Core\Security;
9695

9796
class UserValueResolver implements ArgumentValueResolverInterface
9897
{
99-
private $tokenStorage;
98+
private $security;
10099

101-
public function __construct(TokenStorageInterface $tokenStorage)
100+
public function __construct(Security $security)
102101
{
103-
$this->tokenStorage = $tokenStorage;
102+
$this->security = $security;
104103
}
105104

106105
public function supports(Request $request, ArgumentMetadata $argument)
@@ -109,27 +108,20 @@ retrieved from the token storage::
109108
return false;
110109
}
111110

112-
$token = $this->tokenStorage->getToken();
113-
114-
if (!$token instanceof TokenInterface) {
115-
return false;
116-
}
117-
118-
return $token->getUser() instanceof User;
111+
return $this->security->getUser() instanceof User;
119112
}
120113

121114
public function resolve(Request $request, ArgumentMetadata $argument)
122115
{
123-
yield $this->tokenStorage->getToken()->getUser();
116+
yield $this->security->getUser();
124117
}
125118
}
126119

127120
In order to get the actual ``User`` object in your argument, the given value
128121
must fulfill the following requirements:
129122

130123
* An argument must be type-hinted as ``User`` in your action method signature;
131-
* A security token must be present;
132-
* The value must be an instance of the ``User``.
124+
* The value must be an instance of the ``User`` class.
133125

134126
When all those requirements are met and ``true`` is returned, the
135127
``ArgumentResolver`` calls ``resolve()`` with the same values as it called

session/proxy_examples.rst

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,15 @@ can intercept the session before it is written::
110110

111111
use App\Entity\User;
112112
use Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy;
113-
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
113+
use Symfony\Component\Security\Core\Security;
114114

115115
class ReadOnlySessionProxy extends SessionHandlerProxy
116116
{
117-
private $tokenStorage;
117+
private $security;
118118

119-
public function __construct(\SessionHandlerInterface $handler, TokenStorageInterface $tokenStorage)
119+
public function __construct(\SessionHandlerInterface $handler, Security $security)
120120
{
121-
$this->tokenStorage = $tokenStorage;
121+
$this->security = $security;
122122

123123
parent::__construct($handler);
124124
}
@@ -134,11 +134,7 @@ can intercept the session before it is written::
134134

135135
private function getUser()
136136
{
137-
if (!$token = $this->tokenStorage->getToken()) {
138-
return;
139-
}
140-
141-
$user = $token->getUser();
137+
$user = $this->security->getUser();
142138
if (is_object($user)) {
143139
return $user;
144140
}

0 commit comments

Comments
 (0)