2013-08-26 26 views
0

我试图在Yii中使用hybridauth扩展名。没有srbac扩展是一切都好,问题是我需要启用访问该模块的未经授权的用户使用它。我试过alwaysAllowed的规定设置属性在srbac guide在Yii的srbac中启用未经授权的用户访问模块

操作被命名为 [的moduleId]/[子目录] [ContollerId] [动作]

这样的:

'alwaysAllowed'=>array(//default: array() 
      'SiteLogin','SiteLogout','SiteIndex','SiteAdmin', 
      'SiteError', 'SiteContact','[email protected]'), 

(我的分隔符是@),它不起作用。我已经调试它,它似乎Hybridauth控制器(DefaultController)在功能上_extendsSBaseController不会被识别为SBaseController(模块/巴茨/控制器/ AuthItemController.php):

if ($cont instanceof SBaseController) { 
    return true; 
} 

我的控制器类是扩展SBaseController它适用于不在模块中的控制器,但不适用于此模块。我也试图用SBaseController直接扩展DefaultController而没有运气。

如何设置模块始终是否允许?

回答

0

我已将[email protected][email protected]添加到allways允许列表中,现在它可以工作。该字符串的结构可见于功能beforeAction中的srbac/Controllers/SBaseController.php

$access = $mod . $controller . ucfirst($this->action->id); 
相关问题