目前,我有一個簡單的管理員登錄部分到我的網站,管理員可以從中添加/編輯頁面內容添加/編輯頁面或主題。 現在,我正在考慮在這個項目中爲這個網站按照需要的方式工作。我需要添加多級用戶系統, 我認爲將用戶級別作爲INT
添加到我的表集將允許此, 然後在我的頁面中,我有我的"is_logged_in"
函數調用我也可以調用用戶級別INT
和將其存儲在會話中。 這樣如果用戶設置爲級別1
顯示鏈接a
, 如果用戶設置爲級別2
顯示鏈接b
。 還是我看着這個錯誤的方式?我如何將我的用戶登錄系統更改爲多層次登錄
-2
A
回答
0
無需重新發明輪子。您要查找的內容稱爲訪問控制列表(ACL)功能。有很多可用的解決方案可以加入到您的項目中。我個人使用Zend的Acl庫,但有更多的口味。
它是如何工作的(基本版本):您分配一些ACL角色 - 例如, 「admin」,「staff」,「user」,「guest」,其中「guest」將是您的默認匿名訪問者。當用戶登錄時,您將ACL角色保存在用戶的會話中。
然後,您創建一個ACL類,將這些角色分配給您的資源。例如。 「admin」可以讀取和編輯任何人的數據,「staff」可以讀取「admin」,「staff」和「user」數據,但只能編輯自己的和「用戶」數據,「user」可以讀取其他「用戶」只編輯自己的數據。
在您的應用程序中您需要檢查用戶是否被允許執行一些操作或訪問某個網站的某些部分(例如CMS)的任何時候,您都會檢查ACL規則以執行操作/允許訪問或告訴用戶他/她沒有被授權。
相關問題
- 1. 如何計算某人登錄了我的系統多少次?
- 2. 如何設置我的登錄系統?
- 3. 我不能登錄系統
- 4. Laravel用戶登錄系統
- 5. 如何更改WebStorm中的用戶系統登錄名?
- 6. 登錄系統將不會登錄
- 7. 我將如何登錄成功登錄
- 8. 如何讓我的網站用戶通過Facebook登錄/註冊並將Facebook登錄系統與我自己的登錄系統集成?
- 9. 如何確保用戶已登錄到我的系統?
- 10. Drupal修改登錄系統
- 11. 改進登錄系統
- 12. 我可以用cookie改進我的PHP登錄系統嗎?
- 13. Firebase多次登錄用戶
- 14. ActionCable多次登錄用戶
- 15. 一旦用戶登錄,如何將登錄表單更改爲註銷鏈接?
- 16. 當登錄到我的系統時直接登錄到我的應用程序
- 17. 我的登錄系統是安全的?
- 18. 我的網站外部登錄系統
- 19. 如何將登錄用戶更改爲另一用戶?
- 20. 如何將登錄用戶更改爲其他臨時用戶?
- 21. 如何我在登錄系統解釋一個掩蔽系統?
- 22. 如何Facebook登錄我們系統中的相關用戶記錄
- 23. PHP用戶登錄更改!
- 24. 更改登錄用戶
- 25. 登錄系統不想登錄網頁
- 26. Php登錄系統-null值登錄
- 27. 登錄系統不能登錄
- 28. 如何使用我的系統登錄憑據作爲戶外用品?
- 29. 最安全的用戶登錄系統
- 30. 登錄系統通過電子郵件隨機密碼每次用戶登錄?
不,看起來不錯。去吧。 – arkascha
走得更深入,並使用數組來存儲權限,以便您可以執行更多粒度的permision系統。 – Solrac
如果您的解決方案適合您的需求,那麼您的解決方案就很好。在某些時候,您可能希望從「關卡」切換到更靈活的關卡,例如「角色」或「權限」等。但是,建立您還沒有使用的東西沒有意義(請參閱[YAGNI](https:/ /en.wikipedia.org/wiki/You_aren%27t_gonna_need_it))。 –