У меня есть сложное приложение для составления отчетов, которое позволяет клиентам входить в систему и просматривать отчеты для своих клиентских данных.Есть несколько разделов приложения, где есть вызовы базы данных, использующие различные контроллеры.Мне нужно убедиться, что клиент A не получает информацию о клиенте B посредством манипуляции с заголовком.
Система проверяет подлинность и присваивает им clientID и roleID.Если ваш roleID> 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 ...
Я всегда могу написать функцию аутентификации и таким образом передавать выбранные запросы, но этоВсеобщее общение будет проще реализовать во всех вызовах, и оно будет перспективным.Любая помощь приветствуется.