2011-11-01 4 views
1

Хорошо, так что надеюсь, я правильно задать этот вопрос:Доступ к данным аутентификации сеанса (Lithium + MongoDB)

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

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

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

ответ

1

Если сеанс (устанавливается в конфиге/начальной загрузки файла) называется «по умолчанию», а затем просто запустить проверку ...

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

Затем $ пользователю будет иметь массив данных пользователя в сессии, так что если у вас есть first_name поля в базе данных/сеансе вы можете сделать:

echo $user["first_name"]; 

Я создал помощник, чтобы очистить это вверх ЛИТТА ле, я назвал его: расширения/помощник/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(); ?> 
+0

Что бы это выглядеть в контроллере? – briankulp

+0

Это будет работать так же, как в примере выше, но вместо этого вы должны использовать Auth: check() и $ user ["first_name"] внутри контроллера. –

Смежные вопросы