我正在使用CakePHP 2.1 RC + TinyAuthorize,这是AppController.php的下一个方法:
class AppController extends Controller {
public $components = array('Auth');
public function beforeFilter() {
$this->Auth->authorize = array('Tiny');
}
}
出于某种原因,Tiny没有被执行,因此它的ACL规则没有被应用。什么想法可能是错的?
答案 0 :(得分:0)
你把它放在应用程序或工具插件中了吗? 对于后者,它应该是
$this->Auth->authorize = array('Tools.Tiny');
有关详细信息,请参阅http://www.dereuromark.de/2011/12/18/tinyauth-the-fastest-and-easiest-authorization-for-cake2/
在弄清楚你的问题后,我编辑了我的答案:
“角色”的此*(=任意)占位符仅指已登录的用户。您不得以这种方式声明您的公共操作!所有这些必须使用$ this-> Auth-> allow()。
声明原因是Authenticate在授权之前出现。因此,如果没有身份验证(登录),将永远不会有任何授权(检查角色)。