ログイン認証付きWebサービスを作っていると、ユーザ名を画面上に表示したいことがよくあります。
そんな時にビューにユーザ情報を表示する方法について。
#isAuthorizedメソッドを使う
CakePHP3では、認証後にControllerのisAuthorizedメソッドが呼び出されるようになります。
isAuthorizedメソッドは引数にログインされているユーザ情報(ログイン処理時にsetUserしたEntity)が入ってくるので、そのEntityの必要な情報を変数に格納します。
AppController.php
public function isAuthorized($user = null){
//ユーザ名格納
$this->set('username', $user['username']);
}
ビュー側では普通にここで設定した変数名を参照すればいいだけ。
#とはいえ
Controller側で変数に格納し、ビュー側で取り出すというのは何となくすっきりしない感じ。
出来ればビュー側だけで書きたいと思ったりもするけど、解決策はわかってないです。
SessionHelperとかあるみたいだから、そのあたりをうまく使えばかけるんですかね?