Cakephp3のプラグインであるCakeDC/Usersを利用してユーザー認証機能を開発しております。
ログインしたユーザーの認証情報をヘッダーに表示しようと$this->Auth->user()を使ってユーザー情報を取得しようとしましたが下記のエラーメッセージが表示されてしまいました。
Call to a member function user() on boolean
CakeDCは内部でAuthコンポーネントを利用しており、そのまま使えるとの認識ですが違うのでしょうか。
なお、$this->Åuth->allow()は実行できているようでしたのでAuthコンポーネントは適切に読み込まれているようです。
宜しくお願い致します。
AppContoroller.php
<?php namespace App\Controller; use Cake\Controller\Controller; use Cake\Controller\Component\AuthComponent; use Cake\Event\Event; class AppController extends Controller { public function initialize() { parent::initialize(); $this->loadComponent('RequestHandler', [ 'enableBeforeRedirect' => false, ]); $this->loadComponent('Flash'); $this->loadComponent('Security'); // add CakeDC/Users $this->loadComponent('CakeDC/Users.UsersAuth'); } }
TbContoroller.php
<?php namespace App\Controller; use App\Controller\AppController; class TbController extends AppController { public function initialize(){ parent::initialize(); $this->viewBuilder()->setlayout('layout_k'); //レイアウトの読み込み $user=$this->Auth->user(); $this->set(compact('user')); } public function index(){ //タイトルセット $this->set('title',__('テスト')); }
layout_k.ctp 一部略
<?=$this->element('header/header_010',['title'=>$title,'user'=>$user]) ?>
header_010.ctp 一部略
<?=$user->email ?>
回答1件
あなたの回答
tips
プレビュー