2012-03-01 64 views
0

我正在將遺留PHP應用程序移植到Zend Framework中。它應該是一個Facebook應用程序,通過Facebook進行身份驗證。成員身份驗證後,我有一個與處理成員對象有關的問題。在Zend Framework中處理成員身份驗證和訪問應用程序

目前,我正在初始化Bootstrap.php中的成員類對象,並將它分配給Zend_Session中的對象。然後我訪問會話,無論我需要什麼成員對象進行任何處理(例如,在控制器中調用成員模型上的方法並將數據返回給視圖對象)

這是推薦的做事方式嗎?如果沒有,如果有人能指出我的方向,我會很感激。

薩蒂揚

回答

1

通常情況下,人們會用Zend_Auth和認證適配器來存儲你的成員對象在Zend_Auth單身,你可以檢查/通過訪問會話存儲(在控制器中說):

$auth = Zend_Auth::getInstance(); 
if ($auth->hasIdentity()){ 
    $member = $auth->getIdentity(); 
    $this->view->name = $member->getName(); 
} 

認證過程本身涉及創建認證適配器$adapter,與由用戶提供的憑證填充它,以及檢查的結果:

Zend_Auth::authenticate($adapter); 

更多詳細信息在Zend_Auth docs

此外,請注意,如果您有一些模塊或控制器需要登錄才能訪問,則可以將此檢查代碼放入front-controller plugin,並使用routeShutdown($request)掛鉤。如果請求是針對受保護的控制器的,並且用戶未登錄,則重定向到登錄頁面。只需在boootstrap中註冊插件即可。

+0

謝謝!這有所幫助,雖然我沒有機會實現這一點。我已經記錄下來,以便接管我之後的學生組可以更廣泛地使用zend框架。 – Satyam 2012-04-02 15:03:30