我需要根據引導文件中的某些條件重定向。
它是在前端控制器和路由被定義之後完成的。
我該怎麼做?
(我知道我可以簡單地用頭('位置:....)問題是我需要使用路由器來構建URL有沒有辦法在Zend Framework中從引導中重定向瀏覽器?
2
A
回答
3
一年多後,我在ZF編程,我爲您的問題得到了這個解決方案。 這是我的bootstrap函數,它決定了用戶登錄的位置。
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected $_front;
(...)
protected function _initViewController()
{
(...)
$this->bootstrap('FrontController');
$this->_front = $this->getResource('FrontController');
(...)
}
protected function _initLogado()
{
$router = $this->_front->getRouter();
$req = new Zend_Controller_Request_Http();
$router->route($req);
$module = $req->getModuleName();
$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()) {
$this->_view->logado = (array) $auth->getIdentity();
} else {
$this->_view->logado = NULL;
if ($module == 'admin') {
$response = new Zend_Controller_Response_Http();
$response->setRedirect('/');
$this->_front->setResponse($response);
}
}
}
}
0
最好的辦法可能是一個Controller Plugin
可以。添加一個在路由發生後調用的routeShutdown()鉤子,但是在你的控制器被調用的action方法之前,你可以在這個插件中檢查請求數據,或者在ACL中查找權限,或者只是隨機重定向你想要什麼!
選擇是你的!
編輯:重新讀你的問題,它看起來像你甚至沒有興趣的路線 - 使用routeStartup()作爲引導後注入代碼後的最早點。
0
我會抓住從前端控制器,路由器並調用其assemble()
方法,然後使用header()
:)
問候,
搶...
0
您可以檢查「routeShutdown條件「方法在插件,然後使用$ this-> actionController - > _ helper-> redirector()來重定向;)
2
重定向其實它不應該在引導文件...這將是調試編碼器的一個可怕的夜晚是最終套牢你的代碼幾年內。
使用前控制器插件,動作控制器插件或在您的動作控制器中執行此操作。最終這樣的重定向應該完全避免...
相關問題
- 1. 有沒有辦法從java applet中讀取瀏覽器的cookie?
- 2. 如果舊瀏覽器如何重定向Zend Framework 2?
- 3. 有沒有辦法在現代瀏覽器中獲取CSS XSS?
- 4. 在Zend Framework中重複引導
- 5. 有沒有辦法阻止瀏覽器發送特定的cookie?
- 6. Zend Framework:從控制器插件重定向更有效
- 7. 有什麼辦法在Zend Framework中使用多於1個引導類?
- 8. 有沒有辦法阻止廣告導致頁面重定向?
- 9. 有沒有辦法從Zend-framework的查詢中獲取記錄的數量?
- 10. 有沒有什麼辦法阻止瀏覽器頁面滾動瀏覽器
- 11. 有沒有辦法在WP7上插入IE瀏覽器?
- 12. 有沒有辦法在瀏覽器中捕獲所有鍵盤輸入?
- 13. 有沒有辦法在iOS中使用Photos Framework鎖定照片?
- 14. 有沒有辦法讓瀏覽器擁有登錄憑證?
- 15. 有沒有辦法在Spring攔截器中檢查HttpResponse是否是重定向?
- 16. 有沒有辦法在Netbeans中將輸入從文件重定向到stdin?
- 17. Zend Framework在前端控制器插件重定向導致重定向循環
- 18. 根據瀏覽器和瀏覽器版本有沒有一個可靠的方法重定向?
- 19. 有沒有辦法在Zend Framework中更改路由變量分隔符?
- 20. 有沒有辦法在Zend Framework 1.5中執行「INSERT ... ON DUPLICATE KEY UDPATE」?
- 21. $瀏覽器沒有定義
- 22. Zend Framework IIS重定向
- 23. Zend Framework URL重定向
- 24. Zend Framework url重定向
- 25. Zend Framework 2重定向
- 26. 有沒有辦法在python中重載+ =?
- 27. Jmeter沒有正確重定向,瀏覽器的方式
- 28. openUrl沒有重定向到iOS 8.3的Safari瀏覽器
- 29. 瀏覽器領域沒有進行重定向
- 30. 有沒有辦法在瀏覽器中顯示3-D曲面圖?
我實際上在發佈之前嘗試過。沒有工作出於某種原因(沒有價值的地方)。在使用匯編方法之前,我必須在路由器中初始化一些東西嗎? (謝謝) – 2009-05-30 03:32:31
有一個簡單的代碼示例? – 2009-07-24 06:03:13