2010-07-01 10 views

Respuesta

10

Prueba esto:

$this->Auth->user('id') 
+0

Advertencia - Este trabajo en cakephp 3.x – Rod

4

También puede obtener los datos de usuario de la sesión si el La clase de autenticación no está disponible para ti.

$this->Session->read('Auth.User.id') 
+1

Esto es útil si no tiene el AuthComponent registrado en el nivel AppController –

16

En CakePHP hay varias maneras de obtener el identificador de usuario desde la sesión, he aquí algunos ejemplos

para obtener el ID de sesión de usuario en el uso del controlador:

$uid = $this->Auth->User('user_id'); 

Para obtener el ID de usuario de la sesión dentro de una vista, use: (No recomendado, lo establecería en el controlador)

$uid = $this->Session->read('Auth.User.id'); 

para obtener el ID de sesión de usuario dentro de un modelo, utilice: (no recomendado, pero una solución)

$uid = CakeSession::read('Auth.User.id'); 

No recomiendo lo anterior para obtener el identificador de sesión de usuario desde dentro el modelo, me la pasaría a través del controlador, utilice:

$this->Model->function($uid); 

también puede obtener el identificador de sesión de usuario a través de PHP puro, su uso: (aunque utilizando Torta debe seguir con las convenciones)

$uid = $_SESSION['Auth']['User']['id']; 

Y hay más métodos, esto es sólo unos pocos ...

+2

Esta fue una gran respuesta y esta debe ser la respuesta aceptada – justinhartman

+0

+1 para la recomendación sobre pasar del controlador al modelo, en lugar de llamar ' CakeSession :: read ('Auth.User.id'); 'en el modelo. – Fr0zenFyr

5

Cakephp 2.x:

en cualquier lugar:

AuthComponent::user('id') 

Dentro de un controlador:

$this->Auth->user('id'); 
0

Esto puede ser inútil, pero estaba teniendo un error por $this->Auth->user(); Este problema se solucionó con esta opción. No estoy seguro de la ruta del problema, pero surgió al invocar una función desde un Modelo en la misma acción que utilicé $this->Auth->user(); Utilizando AuthComponent::user('id') resolvió los problemas.

Cuestiones relacionadas