AccessControl по IP (из таблицы)

Всё про контроль доступа пользователей: фильтры, RBAC, проверки
Ответить
w4y
Сообщения: 46
Зарегистрирован: 2016.07.11, 07:10

AccessControl по IP (из таблицы)

Сообщение w4y » 2017.09.08, 17:11

Прошу помощи вот с чем.

Планируется таблица Profile, связная с таблицей User один-к-одному, в этой таблице есть поле Ips, которое содержит список IP адресов с которых либо можно вызывать action либо нет.

Как это можно реализовать?

w4y
Сообщения: 46
Зарегистрирован: 2016.07.11, 07:10

Re: AccessControl по IP (из таблицы)

Сообщение w4y » 2017.09.08, 17:53

Поспешил с форумом, сам додумался:

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

public function behaviors()
    {
        $behaviors = parent::behaviors();

        $behaviors['access'] = [
            'class' => AccessControl::className(),
            'only' => ['index'],
            'rules' => [
                [
                    'allow' => true,
                    'actions' => ['index'],
                    'ips' => explode(",", Yii::$app->user->identity->profile->access_ip)
                ]
            ],
        ];
        return $behaviors;
    }

Ответить