protected Cookie::getUserFromSession(SessionInterface $session)
Returns the UserSession object for the given session.
Parameters
\Symfony\Component\HttpFoundation\Session\SessionInterface $session: The session.
Return value
\Drupal\Core\Session\AccountInterface|null The UserSession object for the current user, or NULL if this is an anonymous session.
File
- core/modules/user/src/Authentication/Provider/Cookie.php, line 69
Class
- Cookie
- Cookie based authentication provider.
Namespace
Drupal\user\Authentication\Provider
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | protected function getUserFromSession(SessionInterface $session ) { if ( $uid = $session ->get( 'uid' )) { // @todo Load the User entity in SessionHandler so we don't need queries. $values = $this ->connection ->query( 'SELECT * FROM {users_field_data} u WHERE u.uid = :uid AND u.default_langcode = 1' , [ ':uid' => $uid ]) ->fetchAssoc(); // Check if the user data was found and the user is active. if (! empty ( $values ) && $values [ 'status' ] == 1) { // Add the user's roles. $rids = $this ->connection ->query( 'SELECT roles_target_id FROM {user__roles} WHERE entity_id = :uid' , [ ':uid' => $values [ 'uid' ]]) ->fetchCol(); $values [ 'roles' ] = array_merge ([AccountInterface::AUTHENTICATED_ROLE], $rids ); return new UserSession( $values ); } } // This is an anonymous session. return NULL; } |
Please login to continue.