Как я могу ограничить доступ к одной статической странице для аутентифицированных пользователей в Yii? - PullRequest
2 голосов
/ 15 декабря 2011

Как создать в Yii одну статическую страницу, которую могут просматривать только зарегистрированные пользователи?

Ответы [ 2 ]

3 голосов
/ 09 января 2013

Вы должны создать действие внутри вашего контроллера, скажем public function actionStaticpage() и:

Это действие будет обрабатывать рендеринг статического содержимого, которое вы, возможно, захотите показать, т.е. некоторые инструкции / часто задаваемые вопросы для зарегистрированных пользователей., учебное пособие и т. д. Например:

public function actionStaticpage() {
    $this->render('faq');
}

Теперь вам нужно указать, что это действие предназначено для просмотра только для зарегистрированных пользователей.Вы можете сделать это, используя функцию вашего контроллера accessRules().Это было бы что-то вроде этого:

public function accessRules()
{
    return array(
        array('allow', // allow authenticated user to perform these actions
            'actions'=>array('staticpage'),
            'users'=>array('@'),
        ),
    );
}

И это все.Вы также можете сделать свою статическую страницу более динамичной, например, добавив в нее параметр, определяющий, какое статическое содержимое вы хотите отобразить public function actionStaticpage($page), а затем используйте операторы switch или if для правильного отображения содержимого.

3 голосов
/ 16 декабря 2011

В руководстве приведена хорошая документация о том, как включить фильтр контроля доступа Yii для действия контроллера.Вам нужно будет выполнить действие контроллера, отображающее статическое представление, и ограничить доступ к этому действию на основе учебника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...