Cakephp 2-在另一个组件中使用Auth组件

Cakephp 2-在另一个组件中使用Auth组件,cakephp,Cakephp,我正在尝试使用访问另一个组件中的AuthComponent App::uses('AuthComponent', 'Controller/Component'); class AccessComponent extends Object { public function foo() { $this->user = $this->Auth->User(); } 但是检索一个错误: 未定义的属性:AccessComponent::$Auth [APP\Controll

我正在尝试使用访问另一个组件中的AuthComponent

App::uses('AuthComponent', 'Controller/Component');
class AccessComponent extends Object {

public function foo() {
    $this->user = $this->Auth->User();
}
但是检索一个错误:

未定义的属性:AccessComponent::$Auth [APP\Controller\Component\AccessComponent.php,第21行]


您可以使用
user
作为
AuthComponent

App::uses('AuthComponent', 'Controller/Component');
$this->user = AuthComponent::user();
或者将组件包括在
$components
中:

class AccessComponent extends Component {
   public $components = array('Auth');

   public function foo() {
       $this->user = $this->Auth->user();
   }
}

您可以使用
user
作为
AuthComponent

App::uses('AuthComponent', 'Controller/Component');
$this->user = AuthComponent::user();
或者将组件包括在
$components
中:

class AccessComponent extends Component {
   public $components = array('Auth');

   public function foo() {
       $this->user = $this->Auth->user();
   }
}

您可以使用methodes访问您的用户

AuthComponent

App::uses('AuthComponent', 'Controller/Component');

$this->user = AuthComponent::user();
App::uses('CakeSession', 'Model/Datasource');

$this->user = CakeSession::read("Auth.User");
结块会话

App::uses('AuthComponent', 'Controller/Component');

$this->user = AuthComponent::user();
App::uses('CakeSession', 'Model/Datasource');

$this->user = CakeSession::read("Auth.User");

您可以使用methodes访问您的用户

AuthComponent

App::uses('AuthComponent', 'Controller/Component');

$this->user = AuthComponent::user();
App::uses('CakeSession', 'Model/Datasource');

$this->user = CakeSession::read("Auth.User");
结块会话

App::uses('AuthComponent', 'Controller/Component');

$this->user = AuthComponent::user();
App::uses('CakeSession', 'Model/Datasource');

$this->user = CakeSession::read("Auth.User");

您应该始终提到您正在使用的确切cakephp版本。此外,一般来说:注意你的外壳。用户()!==User()您应该始终提到您使用的确切cakephp版本。此外,一般来说:注意你的外壳。用户()!==User()添加
public$components=array('Auth')到组件也可以工作+1.添加
public$components=array('Auth')到组件也可以工作+1.