我有一個複雜的報告應用程序,允許客戶端登錄和查看其客戶端數據的報告。應用程序的幾個部分使用各種控制器進行數據庫調用。我需要確保客戶端A不通過頭部操作獲取客戶端B的信息。如何檢查從Zend Framework發送到數據庫的每個查詢
系統進行身份驗證,併爲其分配clientID和roleID。如果您的角色ID> 1,這意味着您爲託管數據的公司工作,並且您可以查看所有客戶端信息。我想創建一個包羅萬象的,基本上是這樣的:
if($roleID > 1) {
...send query to database
}else {
if(...does this query select a record with clientID other than my $auth->clientID){
do not execute query
}else {
execute query
}
}
的問題是,我想這對於每一個進入到服務器的查詢運行......我怎麼可以把這個代碼爲「應用程序和數據庫之間的「障礙」?我已經使用Zend_Profiler來查看查詢,所以我知道它是某種可能的,但不能從Profiler代碼中辨別出來...
我總是可以編寫身份驗證功能並以這種方式傳遞選定的查詢,所有這些呼叫都將更容易實施,並且將來可以證明。任何幫助表示讚賞。
我傾向於使用ZFdebug工具欄,它非常有幫助[數據庫:SQL查詢的完整列表和每個時間] http://jokke.dk/software/zfdebug – tawfekov