第一個問題:
如何ACL可以在MVC應用程式中有效實現嗎?現有方法有缺點,例如在每個控制器的方法上新增 ACL 程式碼或將所有控制器的方法保持私有。 ACL 實施的最佳實務是什麼?
第二個問題:
使用 ACL 限制個人資料查看權限時,如何決定個人資料的擁有者?
第一個答案(ACL實作)
建議的做法是使用裝飾器模式將目標物包裝在保護殼中。裝飾器物件在目標物件外部處理授權檢查,確保關注點分離並遵守單一職責原則 (SRP)。使用 SecureContainer 類別提供了此方法的範例。
優點:
但是:
第二個答案(物件的 RBAC)
確定設定檔的擁有者,向 ACL 提供相關詳細資訊。這可以透過以下任一方式完成:
附加註意
以上是如何在 Web MVC 應用程式中有效實施存取控制清單 (ACL)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!