Yii1 - Как обойти правило доступа - PullRequest
0 голосов
/ 04 апреля 2019

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

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

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

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

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

1 Ответ

0 голосов
/ 24 апреля 2019

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

...