Не могу разобраться почему не хочет работать accessControl в приложении…
все делаю по мануалу, все проверил и перепроверил…
заходит в контроллер в который доступ точно закрыт.
class RequestController extends CController
{
public function actionIndex()
{
$this->render('index',array());
}
public function filtres()
{
return array(
'accessControl'
);
}
public function accessRules()
{
return array(
array('deny',
'users'=>array('*'),
),
);
}
}
захожу залогиненым юзером или не залогиненым без разницы в http://cp/request
он открывает страницу!
но должен же на site/login или на 403 отправлять
(http://cp - у меня так сервер называется на локалке, но я и на http://localhost пробовал - результат один)
но проверки типа:
Yii::app()->user->isGuest
Yii::app()->user->getId()
Yii::app()->user->checkAccess(‘customer’)
работают!
только не работает accessControl в контроллере
может быть проблема в куках / сессиях / настройках php или apache больше в голову ничего не приходит…
привожу конфиг на всякий случай
<?php
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'Customer interface',
'preload'=>array('log'),
'language' => 'ru',
'import'=>array(
'application.components.*',
'application.models.*'
),
// application components
'components'=>array(
'authManager'=>array(
'class' => 'CPhpAuthManager',
'defaultRoles'=>array('guest')
),
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
'logout' => 'site/logout'
),
),
'user'=> array(
'allowAutoLogin' => true,
),
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning',
),
array(
'class'=>'CWebLogRoute',
),
),
),
'i18n'=>array(
'class' => 'CPhpMessageSource',
'language' => 'ru'
),
'db'=>array(
'class'=>'CDbConnection',
'connectionString'=>'mysql:host=localhost;dbname=****market',
'username'=>'root',
'password'=>'*****',
)
)
);
?>