Yii Framework: управление доступом на основе ролей - PullRequest
5 голосов
/ 13 января 2012

Я реализую управление доступом на основе ролей с использованием инфраструктуры yii для приложения, упомянутого в разработке веб-приложений Agile с использованием книги по инфраструктуре yii. Я реализовал все до номера страницы 189.

на странице 189 сказано, чтоСледующий метод может использоваться, чтобы проверить, разрешено ли пользователю выполнять какие-либо действия или нет.

If (Yii :: app () -> user-> checkAccess ('createIssue')) {// выполнить необходимую логику}

, но этот метод всегда возвращаетfalse для пользователей, которым назначено createIssue операция

Ниже приведена схема базы данных для RBAC

enter image description here

Я связываю UserID и роль для таблицы authassignment, используя следующую команду.

$ auth = Yii :: app () -> authManager;$ auth-> assign ('member', 1);

Как видите, моя таблица пользователей и таблица авторизации не имеют прямой связи.

И я настроил файл main.php в папке конфигурации

Это все, что мы сделали до сих пор, и любой орган может поделиться со мной своими знаниями, если что-то здесь не будет.Заранее спасибо за любую помощь.

1 Ответ

6 голосов
/ 13 января 2012

Давай, мужик! Конечно, между пользователями и заданиями должна быть прямая связь. В следующем фрагменте кода:

$auth=Yii::app()->authManager; $auth->assign('member',1)

'member' принадлежит авторам, а '1' - это идентификатор пользователя, которому назначена эта роль. «идентификатор пользователя» в таблице «authassigment» должен указывать на таблицу пользователей.

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