Проблема Cakephp в отображении имени пользователя при успешном входе в систему

#cakephp #cakephp-1.3

#cakephp #cakephp-1.3

Вопрос:

Я пытаюсь показать имя пользователя и роль пользователя при успешном входе в систему

я следую примеру в net.tusplus

 class AccessComponent extends Object{
var $components = array('Acl', 'Auth');
var $user;

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

function check($aco, $action='*'){
    if(!empty($this->user) amp;amp; $this->Acl->check('Group::'.$this->user['Group']['id'], $aco, $action)){
        return true;
    } else {
        return false;
    }
}

function checkHelper($aro, $aco, $action = "*"){
    App::import('Component', 'Acl');
    $acl = new AclComponent();
    return $acl->check($aro, $aco, $action);
}
}


class AccessHelper extends Helper {

var $helpers = array("Session");
var $Access;
var $Auth;
var $user;

function beforeRender() {
    App::import('Component', 'Access');
    $this->Access = new AccessComponent();

    App::import('Component', 'Auth');
    $this->Auth = new AuthComponent();
    $this->Auth->Session = $this->Session;

    $this->user = $this->Auth->user();
}

function check($aco, $action='*') {
    if (empty($this->user))
        return false;
    return $this->Access->checkHelper('Group::' . $this->user['Users']['id'], $aco, $action);
}

function isLoggedin() {
    return!empty($this->user);
}
  

Я пытаюсь отобразить статус на странице просмотра

 <div id="status">  
<?php
if ($access->isLoggedin()) {
    echo "Welcome";

    echo $this->Html->link('Sign Out', array('controller' => 'users', 'action' => 'logout'));
} else {
    echo $this->Html->link('Sign In', array('controller' => 'users', 'action' => 'login'));
    echo"</br>";
    echo $this->Html->link('Sign Up', array('controller' => 'users', 'action' => 'register'));
}
?>
  

Если я хочу показать имя группы и имя пользователя. Что мне делать

Ответ №1:

Вы могли бы передать пользовательскую переменную, которую вы установили в своей функции запуска, в свой view и отобразить информацию из нее.

контроллер

 $this->set('authUser', $this->user);
  

Вид

 <div id="welcome">
    Welcome, <?php echo $authUser['User']['username'];?>
</div>