2011-11-21 55 views
4

我們正在開發一個使用ZendFrame工作的站點。如何在zend框架中設置auth變量

我們需要設置一個auth變量(角色)來管理用戶類型。

爲此,我們使用變量this->view->auth->getIdentity()->role來管理用戶類型。

在一次追逐中,我們試圖靜態分配用戶類型。

什麼是分配auth變量角色的代碼。我們嘗試了this->view->auth->getIdentity()->role = 'test',但它通過警告。

回答

8

以下應允許您創建成功登錄後新Zend_Auth身份:

$identity = Zend_Auth::getInstance()->getStorage(); 
$identity->write($userData); 

對於用戶數據,我通常存儲與用戶提供類似名稱必填字段的數據庫行,姓,電子郵件,角色等等。如果您存儲在Zend_Db_TableRowZend_Auth,你將能夠訪問它是這樣的:

Zend_Auth::getInstance()->getIdentity()->role; 

快速提醒在Zend_Auth

$auth = Zend_Auth::getInstance(); // get the `Zend_Auth` instance (build on the singleton pattern) 

$auth->hasIdentity(); // return true if an indentity exists and false if it doesn't 

$auth->getIdentity(); // allow you to get the identity content (array, Zend_Db_TableRow and such) 

$auth->write($data): // allow to create a new identity 

$auth->clearIdentity(); // destroy any content stored in the identity. Zend_Session::destroy() can also be used since identity is stored in a session variable 

欲瞭解更多,你可以閱讀官方文檔:Zend_Auth