2013-08-26 4 views
0

Я пытаюсь использовать расширение hybridauth в Yii. Без расширения srbac все прекрасно, проблема в том, что мне нужно разрешить доступ к этому модулю для использования неавторизованными пользователями. Я попытался установить свойство alwaysAllowed, как указано в srbac guide:Включите доступ к модулю для неавторизованных пользователей в sribac Yii

операции названы [ModuleId]/[Подкаталог] [ContollerId] [Action]

как это:.

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

(мой разделитель @), он не работает. Я отладки это, и это, кажется, что контроллер Hybridauth (контроллера по умолчанию) не распознается как SBaseController в функции _extendsSBaseController (модули/Србац/контроллеры/AuthItemController.php):

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

Мой класс контроллера расширяет SBaseController и он работает для контроллеров, которые не находятся в модуле, но не для этого. Я также попытался напрямую расширить DefaultController с помощью SBaseController без везения.

Как установить модуль всегда влево?

ответ

0

Я добавил [email protected] и [email protected] для всех разрешенных списков, и теперь это работает. Конструкцию этой струны можно увидеть в srbac/Controllers/SBaseController.php в функции beforeAction:

$access = $mod . $controller . ucfirst($this->action->id); 
Смежные вопросы