Yii1 - Как обойти правило доступа

Я работаю над проектом в Yii, и у меня почти нет опыта работы с этим фреймворком и php.

Я пытаюсь предоставить доступ к представлению в Yii разным пользователям в зависимости от их роли. В моем коде в функции Controller/accessRules я даю разрешение пользователям с определенной ролью, и это работает нормально.

Дело/проблема в том, что мне также нужно дать такое же разрешение конкретным пользователям из очень разных ролей и тем ролям, для которых у них нет разрешения. Но у этих конкретных пользователей есть поле, активированное в таблице «пользователи» в базе данных (это логическое поле, значения 1/0). Если в этом поле стоит «1», эти пользователи должны иметь доступ к представлению, если «0», у них нет доступа.

Я попытался проверить значение поля, которое я описал ранее, но дело в том, что если у них нет роли, описанной в правилах доступа, у них нет доступа. (или, может быть, способ, которым я проверяю это, не очень хорошо сделан).

Что мне нужно сделать, чтобы решить эту проблему? Мне нужны советы. Спасибо!


person dtamab    schedule 04.04.2019    source источник


Ответы (1)


Ну наконец-то я нашел решение. Не тот, который я ожидал, но эффективный... Я создал новую роль/профиль в базе данных и добавил роль пользователям, которым я хочу предоставить доступ, также в базе данных. Затем в приложении я добавил новую роль в контроллере/действии представления, вот и все. Это просто, я знаю. Но я думаю, что это не лучшая идея, потому что, если количество пользователей начнет расти, и в случае, если каждому пользователю нужна определенная роль... может быть, это слишком много работы.

person dtamab    schedule 24.04.2019