我正在cakepp中实现Auth,我想在控制器中使用获取用户id
$user = $this->Auth->user();
我放了
var $components = array('Auth', 'Acl');
在类内控制器的顶部。
当我在谷歌上搜索时,我发现了
$this->Auth->user('id');
我也在我的控制器中应用了这个代码,但我没有得到id。
当我打印$user时,它只打印用户名而不是id。
您可以使用
pr($this->Auth->user(((;
要打印Auth组件的所有密钥,可以帮助检查id是否真的存在于Auth中
您可以使用以下任何一种:
1> $this->Session->read('Auth.User.id');
2> $this->Auth->User('user_id');
3> $uid = CakeSession::read('Auth.User.id');
4> $uid = $_SESSION['Auth']['User']['id'];
5> AuthComponent::user('id');
$this->Auth->user()
如果ID未显示,可能是"用户"模型没有"ID"字段,或者该ID未包含在会话中?当我在应用程序上执行此操作时,我会看到用户模型中的所有字段。或者您是否将Auth组件扩展为自定义组件?