2015-10-20 3 views
0

Когда я вошел в систему панели управления бэкэнд. Он отлично работает, но когда я перехожу к ссылке (например: site.com/backend/web/site/manage-country), в первый раз она не будет отображаться. Если я перейду к той же ссылке второй раз. Он перенаправляется на сайт.com и показывает эту ошибку.Yii2 - exception 'yii web ForbiddenHttpException'

исключение «юй \ Web \ ForbiddenHttpException» с сообщением "Вы не разрешено выполнять это действие. в /home/kometonl/public_html/demo/vendor/yiisoft/yii2/filters/AccessControl.php:151

После очистки куки. Я верну нормальный сайт.

Серверные/контроллеры/SiteControllers.php

public function behaviors() 
    { 
     return [ 
      'access' => [ 
       'class' => AccessControl::className(), 
       'rules' => [ 
        [ 
         'actions' => ['login', 'error'], 
         'allow' => true, 
        ], 
        [ 
         'actions' => ['logout', 'index','manageCountry'], 
         'allow' => true, 
         'roles' => ['@'], 
        ], 
       ], 
      ], 
      'verbs' => [ 
       'class' => VerbFilter::className(), 
       'actions' => [ 
        'logout' => ['post'], 
       ], 
      ], 
     ]; 
    } 

бэкенд/конфигурации/main.php

'urlManager'=> [ 
      'class' => 'yii\web\UrlManager', 
      'enablePrettyUrl' => true, 
      'showScriptName' => false, 
      'rules' => [ 
'site/manage-country' => 'site/managecountry',] 
     ], 
+0

можно проверить этот массив для поведения возвращать данные –

+0

return ['access' => ['class' => AccessControl :: className(), 'only' => ['index', 'logout', 'login ',' manageCountry '], ' rules '=> [[ ' allow '=> true, ' role '=> [' @ '], ], [' allow '=> true, ' action ' => ['login'], 'role' => ['?'], ], [ ], [ «actions» => ['logout'], 'role' => ['@'], ],],],]; –

+0

код не действует. когда я вошел в систему. Он перенаправляется на страницу индекса. После того, как я достиг индексной страницы. Независимо от того, что я нажал, это работает, но во второй раз, или когда я перезагружаю эту страницу, это не сработает, и это показывает вышеупомянутую ошибку. – Kartz

ответ

0

изменить свое поведение Как

[ 
    'actions' => ['logout', 'index','managecountry'], 
    'allow' => true, 
    'roles' => ['@'], 
        ], 

в SiteController

public function actionManagecountry(){ 
     echo 'hi'; 
    } 
+0

Изменено! но его не работает ... – Kartz

Смежные вопросы