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

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
sam
Сообщения: 31
Зарегистрирован: 2017.12.14, 18:23

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

Сообщение sam »

Как закрыть доступ ко всем страницам сайта если пользователь не зарегистрирован?
чтоб сразу и всегда была страница логина при переходе на сайт или обращению по какой либо ссылке для не зареганного юзера.

вот что выдает гугла
viewtopic.php?t=31082#p158183 (в самом конце)
http://www.dbhelp.ru/yii-how-to-set-up- ... site/page/ (в самом начале)

делаю по второй ссылке, но такое ощущение что BaseController вообще не участвует в процессе:

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

<?php

class BaseController extends CController
{

    protected function beforeAction($action)
    {
        if (Yii::app()->user->isGuest) {
            Yii::app()->user->loginRequired();
            return $this->redirect('/user/login');
        }
        return true;
    }
}

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

	class SiteController extends BaseController { ....

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

			'rules' => [
				'login' => '/user/login',
				'logout' => '/user/logout',
				'' => '/boock/index',
на return $this->redirect('/user/login'); не обращайте внимания эт для наглядности.. уже как только не пробовал..
куда копать?

п.с.
вот такое http://www.yiiframework.com/doc-2.0/yii ... cauth.html у Yii 1.1 есть?
sam
Сообщения: 31
Зарегистрирован: 2017.12.14, 18:23

Re: Как закрыть доступ ко всем страницам сайта если пользователь не зарегистрирован?

Сообщение sam »

Вот эти настройки апача у меня есть. http://www.yiiframework.com/doc/guide/1 ... inx-config
но проект сейчас на виртуалке. както можно проверить или запретить, чтоб мне наглядно было, что работает.. ? там, где проверку прописать что если в реквесте гость, то редирект на логин и так по любой кнопке сайта на главной странице...
Проект на виртуалке локально
sam
Сообщения: 31
Зарегистрирован: 2017.12.14, 18:23

Re: Как закрыть доступ ко всем страницам сайта если пользователь не зарегистрирован?

Сообщение sam »

Ответ дан тут:
viewtopic.php?f=35&t=31082&p=230969#p230969
хотя рекомендовали сделать фильтры:
viewtopic.php?f=35&t=31082&start=20#p230949
а до ответа, я сделал себе вот такое решение... : Проверка по IP
https://artem-malcov.ru/moduli_i_skript ... odu-na-php

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

    public function __construct($id, $module = null)
{
    $this->test();
    parent::__construct($id, $module);
}

    public function test()
    {
        $user_ip = $_SERVER['REMOTE_ADDR'];
        if ($user_ip != '195.129.100.100') {
            $this->redirect('/user/login');
        }
        return true;
    }
можно и доп инфу из статьи прикрутить в проверку, но мне хватило.
узнать свой ип можно тут https://2ip.ru
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Как закрыть доступ ко всем страницам сайта если пользователь не зарегистрирован?

Сообщение urichalex »

sam писал(а): 2018.01.24, 14:48 Ответ дан тут:
viewtopic.php?f=35&t=31082&p=230969#p230969
Это не ответ
sam писал(а): 2018.01.24, 14:48 хотя рекомендовали сделать фильтры:
viewtopic.php?f=35&t=31082&start=20#p230949
Самое верное решение в Yii
sam писал(а): 2018.01.24, 14:48 а до ответа, я сделал себе вот такое решение... : Проверка по IP
https://artem-malcov.ru/moduli_i_skript ... odu-na-php
То же самое делается средствами Yii в том же AccessControll
Ответить