Estoy desarrollando una aplicación que usa Symfony2 y doctrina 2. Me gustaría saber cómo puedo obtener el ID del usuario actualmente conectado.Symfony2 ingresando al ID de usuario
Respuesta
versiones actuales Symfony Symfony (4, Symfony> = 3,2)
Since Symfony >=3.2 simplemente pueden esperar una implementación UserInterface
a inyectar a la acción del controlador directamente. A continuación, puede llamar getId()
para recuperar el identificador del usuario:
class DefaultController extends Controller
{
// when the user is mandatory (e.g. behind a firewall)
public function fooAction(UserInterface $user)
{
$userId = $user->getId();
}
// when the user is optional (e.g. can be anonymous)
public function barAction(UserInterface $user = null)
{
$userId = null !== $user ? $user->getId() : null;
}
}
Puede seguir utilizando el almacenamiento de token de seguridad al igual que en todas las versiones de Symfony desde 2.6. Por ejemplo, en el controlador:
$user = $this->get('security.token_storage')->getToken()->getUser();
Nota que el acceso directo Controller::getUser()
mencionado en la siguiente parte de esta respuesta está en desuso en Symfony 3 y se separó en Symfony 4,0
heredados versiones Symfony
La forma más fácil de acceder al usuario solía ser ampliar el controlador base y usar el método abreviado getUser()
(eliminado en Symfony 4):
$user = $this->getUser();
Desde Symfony 2.6 puede recuperar un usuario desde el almacenamiento de token de seguridad:
$user = $this->get('security.token_storage')->getToken()->getUser();
Antes de Symfony 2.6, el token se puede acceder desde el servicio de contexto de seguridad en su lugar:
$user = $this->get('security.context')->getToken()->getUser();
Tenga en cuenta que el servicio de contexto de seguridad está en desuso en Symfony 2 y se eliminó en Symfony 3.0.
Usted puede obtener la variable con el código de abajo:
$userId = $this->get('security.context')->getToken()->getUser()->getId();
mala práctica, el nombre de la variable debe ser '$ userId' – GusDeCooL
En Symfony2, podemos conseguir este sencillo por este código:
$id = $this->getUser()->getId();
Esto puede vestirse en el método:
/**
* Get user id
* @return integer $userId
*/
protected function getUserId()
{
$user = $this->get('security.context')->getToken()->getUser();
$userId = $user->getId();
return $userId;
}
e inducción $ this-> getUserId()
public function example()
{
print_r($this->getUserId());
}
- 1. Ingresando datos con Haskell
- 2. Ingresando plugins de Eclipse/OSGi
- 3. Manejar al cliente WCF persistente ingresando el estado fallado
- 4. Obteniendo ID de video de YouTube en una URL e ingresando ID de video seleccionado en una URL
- 5. Symfony2: Inyectar usuario actual en el Servicio
- 6. ingresando a MACRO en VC++
- 7. Ingresando saltos de línea en NSString
- 8. Cómo obtener el objeto SPUser utilizando el ID de usuario (nombre_dominio \ ID de usuario)
- 9. Symfony2: ¿Cómo mostrar el nombre de la cuenta de administrador al suplantar la cuenta de usuario?
- 10. Modelo ExtJs4 con id de usuario definido
- 11. ID de interfaz de usuario: repetir
- 12. Symfony2: FOS_Userbundle ¿Definición duplicada al actualizar el esquema db?
- 13. Agregar entidad al panel de Symfony2 SonataAdminBundle
- 14. Rieles: seguimiento del ID de un usuario
- 15. github nombre de usuario por ID
- 16. almacenar ID de usuario en la sesión
- 17. Acceso al usuario conectado en la acción y plantilla de Symfony2
- 18. ID único para cada usuario en Android
- 19. Symfony2 comprobador de usuario personalizado basado en eula aceptado
- 20. Incluir funciones personalizadas de usuario Mejores prácticas en Symfony2
- 21. ¿Cómo obtengo la entidad que representa al usuario actual en Symfony2?
- 22. ¿Cómo identificar si un usuario está siendo suplantado en Symfony2?
- 23. ¿Cómo se genera el Id. De pedido único (solo para mostrar al usuario) con el Id del pedido real?
- 24. Python: cómo obtener ID de grupo de un nombre de usuario (como id -Gn)
- 25. Symfony2: Dónde establecer un huso horario definido por el usuario
- 26. ¿Algún riesgo de devolver el ID de conexión de otro usuario al cliente?
- 27. Symfony2: ¿objeto de referencia similar al objeto de solicitud?
- 28. Authlogic accessing id de usuario en el objeto de sesión
- 29. Agregar CSS al tipo de formulario es Symfony2
- 30. Determinar id de usuario en devolución de llamada oauth
En los controladores symfony2.1, puede obtener al usuario llamando a $ this-> getUser(). Creo que es nuevo en esta versión de Symfony. – PMoubed