2013-02-01 57 views
1

我想執行一個簡單的檢查用戶是否登錄(基於會話)並將其重定向到某個地方,以防他不在。這個檢查需要在我所有的控制器中完成。我在哪裏放這張支票?我知道我可以把它放在我的所有控制器中,但是這是重複的代碼。 我知道我可以用它的構造函數創建一個基本控制器,讓我所有的其他控制器繼承它,使它們繼承檢查。 任何其他優雅的解決方案呢?CodeIgniter檢查如果登錄

+0

把它放在你的基地控制器是做到這一點的方法。 –

+0

100%同意 - 基礎控制器整天,隨着您繼續構建應用程序,您需要在基本控制器中使用更多的東西,最有可能的是 – bonez

+0

基礎控制器是一個很好的解決方案,但請注意,您也可以將支票放入一個在控制器實例化之前執行的鉤子。在某些情況下,這可能是更好的解決方案。 – Jerry

回答

3

我會做一個控制器擴展CI_Controller與構造函數中的檢查就像你說的,然後讓你的各種其他auth'd控制器擴展那一個。

+0

如果整個應用程序設置在身份驗證之後,則希波克拉底是正確的。如果您有前端和後端,請在構造函數中使用身份驗證檢查創建Admin_Controller,並從Admin_Controller擴展所有其他後端控制器。前端控制器將從基本CI_Controller進行擴展。 –