我正在使用SWFUpload和其他一些打印和下载PDF的脚本。 问题是机器试图访问页面以生成脚本的数据,但它符合授权要求。 我正在使用自定义的ip检查这个脚本并将它们放入$ this-> Auth-> allow()。
我想允许来自127.0.0.1的所有请求。 自定义脚本的正确工作流程是什么? 我应该允许()所有方法和checkIP(),还是应该为系统创建用户并授权他。我发现最后一个只是为了本地连接!
答案 0 :(得分:1)
好的,所以我想出了解决方案,如下:
我在核心类安全
中写了一个ip check方法public static function checkIPBased($userId = false, $ipPool = array()) {
$permission = FALSE;
//CHECK BY IP IN IP POOL
$ipAllowed = array_merge($ipPool, array(
'localhost',
'127.0.0.1',
'::1',
));
foreach ($ipAllowed as $ip):
if (strpos($_SERVER['REMOTE_ADDR'], $ip) === 0)
$permission = true;
endforeach;
//CHECK IF THE USER IS ACCESING HIS ORDER
if ($userId && (($userId == AuthComponent::user('id')) || ((int) AuthComponent::user('group_id') === 1)))
$permission = true;
return $permission;
}
之后我在appFtroller中的beforeFilter()中编写了以下代码:
if (Security::checkIPBased())
$this->Auth->allow();
这样我允许机器在使用Auth Component 的同时访问所有方法!