0
AclNode::node() - Couldn't find Aro node identified by "Array ( [Aro0.model] => User [Aro0.foreign_key] => 1 ) "

Error: An Internal Error Has Occurred.
Stack Trace

我的模型名称是 Admin 而不是用户,我已在 Auth 组件配置中设置它

public $components = array('Acl',
    'Auth' => array(
        'loginRedirect' => array('controller' => 'admins', 'action' => 'index'),
        'logoutRedirect' => array('controller' => 'admins', 'action' => 'login'),
        'loginAction' => array('controller' => 'admins','action' => 'login'),
        'authError' => '<font color="red">Did you really think you are allowed to see that? If yes then login!</font>',
        'authenticate' => array(
            'Form' => array(
                'userModel' => 'Admin',
                'fields' => array('username' => 'username', 'password' => 'password')
            )
        )
    ), 'Session', 'Email');

我不知道错误中的用户不是管理员。

提前致谢。

4

1 回答 1

1

请注意AuthenticationAccess Control不同,尽管您正确配置了AuthComponent(Form) 身份验证以使用 Admin 模型,但 ACL 可能仍在尝试访问 User 模型。

有关更多信息,请参阅此处的手册;

http://book.cakephp.org/2.0/en/core-libraries/components/access-control-lists.html#assigning-permissions

和这里;

http://book.cakephp.org/2.0/en/tutorials-and-examples/simple-acl-controlled-application/simple-acl-controlled-application.html#acts-as-a-requester

特别是分配权限时的“模型”列和“请求者”部分。

我意识到这不是一个完整的答案,我手头没有正确的例子,但也许这些建议会帮助你找到解决方案。

于 2013-04-22T22:35:42.243 回答