Zend Framework: Как лучше всего получить имя аутентифицированного пользователя? - PullRequest
1 голос
/ 17 апреля 2009

Я могу получить имя пользователя, выполнив это:

public function indexAction()
{
    $this->view->username = Zend_Auth::getInstance()->getIdentity();
}

«имя пользователя» - это столбец в таблице, который подтверждает идентичность. «Имя» также является столбцом в этой таблице. Хранит ли Zend_Auth только имя пользователя? Или есть способ получить доступ к другим столбцам из строки пользователя в таблице?

1 Ответ

3 голосов
/ 17 апреля 2009

Итак, вы используете адаптер DbTable, верно. И вы извлекаете строку таблицы после аутентификации следующим образом:

$authAdapter->getResultRowObject()

Тогда да, весь пользовательский ряд доступен. Просто попробуй!

Из руководства:

В дополнение к доступности метода getIdentity () для объекта результата аутентификации, Zend_Auth_Adapter_DbTable также поддерживает получение строки таблицы при успешной аутентификации:

// Print the identity
echo $result->getIdentity() . "\n\n";

// Print the result row
print_r($authAdapter->getResultRowObject());

/* Output:
my_username

Array
(
    [id] => 1
    [username] => my_username
    [password] => my_password
    [real_name] => My Real Name
)
*/

Или посмотрите сами!

...