我正在使用cakephp实现Auth,我想在控制器中获取用户ID:
$user = $this->Auth->user();
我已经把
var $components = array('Auth', 'Acl');
位于类内控制器的顶部。
当我在google上搜索时,我找到了
$this->Auth->user('id');
我也在我的控制器中应用了这段代码,但我没有得到id。
当我打印$ user时,它只打印用户名而不是id。
答案 0 :(得分:1)
您可以使用以下任何人:
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');
答案 1 :(得分:0)
您可以使用
PR($这 - > Auth->用户());
打印Auth组件的所有键,它可以帮助检查身份验证中是否确实存在id
答案 2 :(得分:0)
$this->Auth->user()
如果未显示ID,则“用户”模型可能没有“id”字段,或者会话中不包含ID?当我在我的应用程序上执行此操作时,我会看到User模型中的所有字段。 或者您是否将Auth组件扩展为自定义?