私はCakePHP初心者です。CakePHP:AuthとSessionを使ってユーザーのグループIDを取得できません。
私は、次のログインコードを持っている:
function login() {
if ($this->Session->read('Auth.User')) {
$result = $this->User->find('first', array(
'conditions' => array(
'User.id' => $this->Auth->user('id')
),
'fields' => 'Group.id'
));
$groupId = $result['Group']['id'];
$this->Session->write('Auth.Group.id', $groupId);
$this->Session->setFlash('You are logged in with Group ID ' . $groupId . '!', 'auth');
}
}
あなたが見ることができるように、私はAuth.Group.id
セッション変数を設定するだけでなく、auth flash
ています。私app/views/layouts/default.ctp
でしかし
、I
<?php echo $session->flash() ?>
または
<?php echo $session->flash('auth') ?>
または
<?php echo 'ID=' . $session->read('Auth.Group.id'); ?>
が、私は何も得ます。私はここで間違って何をしていますか?
編集:ここに私のAppControllerがある
class AppController extends Controller {
var $components = array('Acl', 'Session', 'Auth');
function beforeFilter() {
//Configure AuthComponent
$this->Auth->actionPath = 'controllers/';
$this->Auth->authorize = 'actions';
$this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
$this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
$this->Auth->fields = array('username' => 'email', 'password' => 'password');
$this->Auth->allowedActions = array('display','logout','login');
}
まだナダルです。 AppControllerで編集した投稿、多分問題はそこにありますか? – Garrett