我在检查用户是否从UsersController以外的任何控制器登录时遇到问题。
我正在尝试制作用户个人资料页面。当我使用
时,我将它路由到PagesController$this->Auth->user()
它总是返回null。但是,如果我将它路由到UsersController它工作正常。这是为什么?登录似乎工作正常。
答案 0 :(得分:1)
你的app_controller.php:
class AppController extends Controller {
var $components = array('Auth', 'Session', 'Cookie');
function beforeFilter() {
$this->Auth->authError = 'blabla';
$this->Auth->loginError = 'blabla';
}
}
在您的控制器中:
function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('function1', 'function2', 'function3'); //etc
$this->Auth->autoRedirect = true;
}
答案 1 :(得分:0)
这是因为您只在用户的控制器中包含Auth组件。您应该将它包含在AppController和beforeFilter()中。这样您就可以访问所有控制器。