我有一個PHP應用程序,它具有基於單個頁面的導航ID的訪問控制機制。例如,用戶可以訪問第1,4,5頁。導航標識符不是靜態的,新的頁面(因此新的導航標識符)可能由管理員用戶生成。我有一些面向服務的架構。所以我有通過JSON從客戶端調用的服務,但也從服務器端直接通過PHP類(控制器)調用服務。我的問題是,我需要一個訪問控制機制的服務。我想將它與服務本身分開。PHP:訪問控制機制的體系結構
服務正在返回業務對象。所有這些BO都與一個具有導航ID的對象有一些「連接」。例如服務返回圖像:Image.page - > Page.navID或服務返回維度(n-n):維度 - > DimImageConnector - > Image.page - > Page.navID。
我無法想象一個乾淨的解決方案來檢查訪問權限。要在業務對象中搜索導航標識,doesen似乎不是一個非常好的簡單解決方案。
這對我的訪問控制體系結構有一些輸入是很好的。
謝謝!
順便說一句:我正在使用一個註釋框架,所以有一種可能性是通過service方法指定一些訪問信息。
不能用ACL的種類來解決嗎? – 2010-11-11 13:02:38
資源應該可能定義哪些用戶組有權訪問它或其子部分。其中包括一個適當的ACL設置。 – markus 2010-11-11 13:44:46
也許我需要更詳細。例如。我有一個叫做新聞的模塊。因此,可能有多個頁面(使用navigation-id)使用此模塊。一個用戶擁有一個頁面的權限,另一個用戶擁有另一個頁面的權限。但是我只有一項服務,我們稱之爲NewsEntryLoader。所以兩個頁面都會調用該服務。 ... – Ben 2010-11-11 14:37:57