使用CakePHP'Acl'组件

时间:2009-07-22 14:03:25

标签: cakephp

我是CakePHP组件的新手。 我已经构建了一个具有登录功能的CakePHP应用程序。 我没有使用“Auth”组件,而是使用我的自定义方法进行身份验证。

现在我想在同一个应用程序中使用'Acl'组件,但我无法这样做,因为它也需要“Auth”组件。

是否可以在没有“Auth”的情况下使用'Acl'。 如果是这样,有人可以提供一些指示吗?

2 个答案:

答案 0 :(得分:1)

可以单独使用它们,至少根据Cake PHP手册。只要您可以将经过身份验证的用户链接到数据库中的ARO,它就可以正常工作。你可以在这里看到关于CakePHP ACL的一些基础知识:http://book.cakephp.org/2.0/en/core-libraries/components/access-control-lists.html这里是关于设置ACL的一个不错的教程:http://bakery.cakephp.org/articles/view/user-permissions-and-cakephp-acl

如果您的数据库中没有用户,那会让它变得有点棘手。只要您在登录后检索具有所需权限的ARO,您就可以了。

答案 1 :(得分:0)

是的,只要你用ACL链接你的用户帐户,一切都应该没问题。

假设您的用户使用他们的电子邮件和密码登录,那么别名字段中的ARO表可以包含指向您用户表的ID的电子邮件地址和foreign_id。

完成所有ACO后,可以使用

检查权限
$res =  $this->Acl->check(
        $us, // user alias (e-mail)
        $this->name, // name of the controller
        $privilege // privilege i.e. 'read' or '*'
        );
    return $res;

在你的AppFtroller的beforeFilter中调用