作者 主題: 使用Zend_Auth下setStorage的盲點?  (閱讀 1809 次)

0 會員 與 1 訪客 正在閱讀本文。

huangxianqin

  • 憂鬱的高中生
  • ***
  • 文章數: 129
    • 檢視個人資料
使用Zend_Auth下setStorage的盲點?
« 於: 2009-07-01 10:14 »
小弟發現若按照官方提供的說明

Zend_Session若是單獨由
代碼: [選擇]
$asession = new Zend_Session_Namespace('a');
$asession->b = 'c';
這樣方式產生操作可以直接影響$_SESSION沒問題

不過一直有個疑問,特別在於與Zend_Auth整合使用時注意到這個狀況

Auth預設會在完成authenticate()得到Zend_Auth_Result物件去儲存到Zend_Session,預設是Zend_Auth

也就是會得到 $_SESSION['Zend_Auth']['storage'][]

小弟測試發現假設產生$auth時沒有呼叫 setStorage 所產生的Session會在該scope完成後不見,即似乎並未真正存取_SESSION?

另外當完成驗證,後續要使用該驗證SESSION時,Zend_Session並沒提供類似Zend_Auth::getInstance()取得實體的方法,唯一有提供是
$session = Zend_Session::namespaceGet('Zend_Auth');

不過如此對$session的操作並不會影響_SESSION資訊

目前小弟暫時作法是  $_SESSION['Zend_Auth'][] = xxx;  的方式處理

不過想了解能否使用Zend_Session來處理這樣的需求?

懇請賜教   謝謝