我有一个复杂的报告应用程序,允许客户端登录和查看其客户端数据的报告。应用程序的几个部分使用各种控制器进行数据库调用。我需要确保客户端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