2009-04-17 3 views
1

я могу получить имя пользователя, делая это:Zend Framework: как лучше всего получить первое имя аутентифицированного пользователя?

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

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

ответ

3

Итак, вы используете адаптер 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 
) 
*/ 

Or see for yourself!