我有几个关于 CakePHP 的 ACL 和 Auth 系统的问题。
- acos 表中别名的命名约定是什么?是“controllers/Posts/add”还是仅使用“Posts”中的父 ID 进行“添加”?
- 我的登录无效。当我尝试登录时,我没有收到任何错误消息,但 Auth.User 和 Auth->user('id') 都是空的。可能是什么问题呢?我做的一切都像 CakePHP 的 ACL 示例中那样。
谢谢。
更新: 我现在可以登录(服务器上的时间设置有问题),我的 acos 表看起来正确,但我无法执行任何操作。我允许 aros_acos 表中的操作。如果我使用 '$this->Acl->check()' 检查权限,如果我给出操作的单个名称而不是完整路径('controllers/Posts/add' 不起作用),它就会起作用。
最佳答案
我通过以下方式解决了问题:
- 确保服务器上的时间正确。否则 session 将无法工作。
- 更正acos表中的表数据。尤其要确保“lft”和“right”值是正确的。此页面可能有帮助:http://www.sitepoint.com/hierarchical-data-database-2/
- 您需要将要使用的每个操作添加到 acos 表中。如果您不这样做,则不允许执行此操作。即使你允许孔 Controller 。
关于php - CakePHP ACL 和 Auth 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12446829/