【发布时间】:2013-09-01 21:41:19
【问题描述】:
我刚刚为我新创建的蛋糕项目添加了ACL 权限。但是,当我尝试访问它以创建 groups 和 users 时,我收到以下消息:
Forbidden
You don't have permission to access /Udlejning/app/webroot
这是仅针对索引的错误消息,即localhost/Udlejning/。
谁能告诉我为什么它把我重定向到那里以及我该如何解决它?
值得一提的是,我的用户控制器中有以下规则:
public function beforeFilter() {
parent::beforeFilter();
// For CakePHP 2.0
$this->Auth->allow('*');
// For CakePHP 2.1 and up
$this->Auth->allow();
}
我的 AppController 看起来像这样:
public function beforeFilter() {
//Configure AuthComponent
$this->Auth->loginAction = array('controller' => 'Users', 'action' => 'login');
$this->Auth->logoutRedirect = array('controller' => 'Users', 'action' => 'login');
$this->Auth->loginRedirect = array('controller' => 'pages', 'action' => 'index');
}
这些是我的重定向规则
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
规格
我正在使用 Cake 2.4 和 Linux mint
【问题讨论】:
-
上述htaccess文件与您的问题无关。该问题很可能是服务器配置错误。您需要为您的父 htaccess 文件之一允许“AllowOverwrite”,或者对您的虚拟主机设置更好。否则(在某些机器上
AllowOverwrite None是默认值),您的 htaccess 文件不会被处理和忽略 - 从而导致您的错误。注意:您应该始终提及您正在使用的确切 cakephp 版本。在这种情况下,您使用的是什么操作系统。 -
@mark ive 在我的问题中添加了蛋糕版本和操作系统
-
标准您的主 index.php 文件位于 app/webroot 中,因此这是正确的。它将与 .htaccess 文件一起到达那里。所以这都是正常的。您的消息似乎与 ACL 的配置错误有关。对于测试,首先尝试通过应用控制器向所有控制器授予所有权限。然后你可以开始限制它的测试。因此,首先公开所有访问权限,然后在可行时开始完善。