我想使用Acl来控制对unregisteres / unlogged用户的访问 - 我已经设置了它,测试它正在工作我可以创建新组,用户,添加用户到组以及设置组特定控制器操作的预设
我创建了名为unregistered的用户组和名为temp的用户,但不知道如何将进入该页面的未登记用户分配(映射)给该用户和组?
答案 0 :(得分:0)
为什么要在ACL结构中指定默认允许规则?
假设您要允许匿名访问以下操作:register,about,someotherpage
并且您希望通过ACL控制访问:编辑,回复,配置文件
在Auth组件中,您可以设置Auth :: allow属性,该属性指定您希望允许每个人(登录和未登录的用户)访问的不同控制器操作。因此,在您的控制器中(可以是全局应用AppController,或者只应用于该控制器的SpecificController),指定(通常在Controller :: beforeFilter()方法中):
$this->Auth->allow = array( 'register', 'about', 'someotherpage' );
然后Auth将仅限制对其他页面的访问。这应该比你想做的要简单得多,假设我正确地读了你的问题。
HTH!
答案 1 :(得分:0)
您已走上正轨 - 您已定义了“匿名”用户和群组。您需要做的下一步是自动登录任何匿名用户作为“匿名”用户(这听起来很愚蠢,但请相信我)。这样,您就可以在表中设置ACL权限,就像它们是注册用户一样。
@Travis Leleu - auth的表已经存在,用于定义注册用户/组的权限,那么为什么要为非注册的匿名用户提供第二个单独的表?