2012-12-21 50 views
0

沒有權利訪問菜單主頁,個人資料,圖庫,聯繫我們。 我有兩種類型的用戶,即管理員運營商。例如管理員只是輪廓,並聯繫我們菜單中看到。而在運營商,只是配置文件菜單是可見的。如何區分codeigniter的權限?在CodeIgniter中顯示基於權限的菜單

請幫幫我,謝謝:)

+0

使用ascl庫和給角色類型 –

+0

你能給我一個鏈接下載嗎? – ramadani

+0

http://ellislab.com/forums/viewthread/213845 –

回答

3

一個簡單的方法是提供一個配置文件ID來區分用戶。例如,對於管理員1和操作員用戶2.當您在視圖文件中顯示菜單時,使用配置文件ID在菜單顯示中添加一些條件。

注意將會話數據中的配置文件ID保存在用戶數據中。

+0

謝謝,我會試試:) – ramadani

0

擁有不同的用戶類型的作品,如果你從來沒有想過有兩種以上的類型或人需要一個管理員權限,而不是另一個。一個更好的或者更有前景的證明是通過角色來實現的。

創建一個角色表,其中包含您的不同角色,現在您可以使用管理角色和用戶角色。然後創建一個連接表,該連接表將保存RoleId和UserId。當用戶登錄時,您創建一個會話變量並用它們所持有的不同角色的數組填充它,然後當您有一個需要保護的特定頁面時,您只需檢查該數組是否具有所需的權限。

舉一個例子說,你有一個商業網站,你需要用戶登錄,主管理登錄,銷售登錄和倉庫登錄。比方說,爲了爭辯,銷售和倉庫需要編輯產品的能力,但倉庫不應該被允許編輯價格。您當然可以分配不同的用戶類型,然後在加載頁面時檢查這些用戶類型,但是需要越來越多的權限。通過角色爲倉庫和銷售人員分配產品權限角色,只有銷售人員才能獲得價格編輯權限。

正如我所說,如果你只需要兩個單獨的用戶類型和兩個不同的權限集合,基於角色的認證可能是矯枉過正。但有人說,如果你發現自己需要更多的東西,那麼計劃和建立這種情況不會有什麼壞處。

相關問題