CakePHP中的ACL

时间:2011-03-09 04:55:54

标签: php cakephp acl

在CakePHP中使用ACL的最佳方法是将每个用户(当他们注册时)添加为ARO吗? 还有另一种方法吗?这似乎如果你有一个足够大的用户群,它可能会减慢一点......

3 个答案:

答案 0 :(得分:1)

使用ACL会降低系统速度。据我所知,将它们全部添加为ARO是最好的方法。

如果您的系统不需要对每种方法进行细粒度控制,您可以考虑使用Auth并使用isAuthorized()在方法级别上授权您的用户。这比使用ACL快得多,但没有ACL提供的细粒度控制。

答案 1 :(得分:1)

ShaneK,

ARO只构造一次(对于每个用户)。当然,ARO和ACO的ACL实现在第一眼看上去很奇怪,但在重新组装稀疏矩阵的访问权限方面肯定有其优势。

答案 2 :(得分:0)

我不知道这是否是实现“基于ROLES的安全系统”来控制对某些资源的访问的最佳方式,但我建议您在USERS表中创建一个新列以存储第一级ARO别名,然后你可以在你的行动中使用它来检查当前用户是否可以访问资源。