0

我想使用 Acl 控制未注册/未登录用户的访问 - 我已经设置它,测试它的工作我可以创建新组、用户、将用户添加到组并为特定控制器操作设置组权限

我创建了名为 unregistered 的用户组和名为 temp 的用户,但不知道如何将进入页面的未登录人员分配(映射)到该用户和组?

4

2 回答 2

0

您走在正确的轨道上 - 您已经定义了一个“匿名”用户和组。您需要做的下一步是自动以“匿名”用户身份登录任何匿名用户(这听起来很愚蠢,但相信我)。这样您就可以像注册用户一样在表中设置 ACL 权限。

@Travis Leleu - auth 的表已经存在,用于定义注册用户/组的权限,那么为什么要为非注册的匿名用户提供第二个单独的表?

于 2009-10-14T16:53:58.710 回答
0

为什么要在 ACL 结构中指定默认允许规则?

假设您希望允许匿名访问以下操作:register、about、someotherpage

并且您想通过 ACL 控制对以下内容的访问:编辑、回复、配置文件

在 Auth 组件中,您可以设置 Auth::allow 属性,该属性指定您希望允许每个人(登录和未登录的用户)访问的不同控制器操作。因此,在您的控制器中(可以是 AppController 以全局应用,也可以是 SpecificController 仅应用于该控制器),指定(通常在 Controller::beforeFilter() 方法中):

$this->Auth->allow = array( 'register', 'about', 'someotherpage' );

然后 Auth 将只限制对其他页面的访问。假设我正确阅读了您的问题,这应该比您尝试做的要简单得多。

于 2009-07-18T19:50:18.217 回答