Как настроить accessRules??

Вопросы об установке, настройке и работе самого фреймворка

Как настроить accessRules??

Сообщение Евгений » 2010.02.25, 19:43

Не получается настроить accessRules, в контроллере прописываю фильтры, но они не работают. Пишу в фильтр Users запрет на действие не авторизованным пользователям, а на деле доступ остается открытым…В чем дело не пойму, вот код если поможет:

Код: Выделить всё

    
public function filters()
    {
        return array(
            
'accessControl',
        );
    }
    
   public function 
accessRules()
   {
        return array(
            array(
'allow'
                
'actions'=>array('index'),
                
'users'=>array('@'), 
            ),
        );
   }
 


Что еще необходимо для корректной работы правил доступа?!
Евгений
 
Сообщения: 27
Зарегистрирован: 2010.02.25, 19:39

Re: Как настроить accessRules??

Сообщение Sam Dark » 2010.02.25, 20:44

Надо немного дополнить accessRules:
Код: Выделить всё
array('deny',  // deny all users
  
'users'=>array('*'),
),
 
Аватара пользователя
Sam Dark
Администратор
 
Сообщения: 1693
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж

Re: Как настроить accessRules??

Сообщение VanSanblch » 2010.02.26, 11:29

Или, наверное, вот так:
Код: Выделить всё
   public function accessRules()
   {
        return array(
            array('deny', 
                
'actions'=>array('index'),
                'users'=>array('?'), 
            
),
        );
   } 

То есть запрещаем всем кто не авторизовался...
Watashi-wa koneko!
VanSanblch
 
Сообщения: 7
Зарегистрирован: 2010.01.21, 12:22

Re: Как настроить accessRules??

Сообщение Sam Dark » 2010.02.26, 13:08

Так мы запретим только неавторизованным и только index. Гораздо безопаснее запретить всё и всем, а потом уже разрешать. Тут то, что выше имеет больший приоритет.
Аватара пользователя
Sam Dark
Администратор
 
Сообщения: 1693
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж

Re: Как настроить accessRules??

Сообщение Евгений » 2010.02.26, 19:38

Да, только главное, вот это:
Код: Выделить всё
array('deny',  // deny all users
  
'users'=>array('*'),
), 

размещать в самом конце правил.
Евгений
 
Сообщения: 27
Зарегистрирован: 2010.02.25, 19:39

Re: Как настроить accessRules??

Сообщение BOLVERIN » 2010.03.10, 16:08

по неизвестным причинам не работает запрет. вообще. подскажите, пожалуйста. и заодно скажите можно ли так разрешать доступ пользователю с определенным username, например "admin_name"?
Код: Выделить всё
public function accessRules()
    {
        return array(
            array(
'deny',  // deny all users
                
'users'=>array('*'),
            ),
            array(
'allow'// allow admin user to perform 'admin' and 'delete' actions
                
'actions'=>array('admin','delete','create','update'),
                
'users'=>array('admin_name'),
            ),
            array(
'allow',  // allow all users to perform 'index' and 'view' actions
                
'actions'=>array('index','view'),
                
'users'=>array('*'),
            ),
            array(
'allow'// allow authenticated user to perform 'create' and 'update' actions
                
'actions'=>array('index','view'),
                
'users'=>array('@'),
            ),
        );
    } 
BOLVERIN
 
Сообщения: 10
Зарегистрирован: 2010.02.04, 22:11

Re: Как настроить accessRules??

Сообщение Werewolf » 2010.03.10, 16:31

Все написанное после
Код: Выделить всё
            array('deny',  // deny all users
                
'users'=>array('*'),
            ), 

будет пропущено. deny нужно ставить в конце.
Werewolf
 
Сообщения: 48
Зарегистрирован: 2010.02.27, 14:37

Re: Как настроить accessRules??

Сообщение BOLVERIN » 2010.03.10, 17:22

ничего не изменилось
BOLVERIN
 
Сообщения: 10
Зарегистрирован: 2010.02.04, 22:11


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: MaxOtto и гости: 2