Доступ к данным сеанса аутентификации (Lithium + MongoDB) - PullRequest
1 голос
/ 02 ноября 2011

Хорошо, надеюсь, я правильно задаю этот вопрос:

Я настроил свою пользовательскую модель и контроллер, а также мою модель сеанса и контроллер ... но я хочу отобразить некоторую информацию о сеансе на странице.

например
Если бы я заходил на страницу, на ней было бы написано «Брайан» (или как бы то ни было, мое имя пользователя, которое я использовал для входа в систему)

Надеюсь, я не задаю повторный вопрос - я достаточно обыскивал этот вопрос и пока не нашел решения. Большое спасибо!

1 Ответ

1 голос
/ 08 ноября 2011

Если ваш сеанс (установленный в файле config / bootstrap) называется «default», тогда просто запустите check ...

$user = Auth::check('default');

Тогда $ user будет иметь массив пользовательских данных в сеансе, поэтому, если у вас есть поле first_name в вашей базе данных / сеансе, вы можете сделать:

echo $user["first_name"];

Я создал помощника, чтобы немного это исправить, я назвал его: extensions / helper / Login.php

<?php

namespace app\extensions\helper;
use lithium\security\Auth;

class Login extends \lithium\template\Helper {

    public function user() {

        $user = Auth::check('default');

        return $user;
    }

    public function fullName() {

        $user = self::user();

        return $user["first_name"] . " " . $user["last_name"];
    }

}

?>

Тогда в своих представлениях я использовал это как ...

<?=$this->login->fullName(); ?>
...