Я выполняю управление доступом на основе ролей, используя фреймворк yii для приложения, упомянутого в разработке веб-приложения Agile, используя книгу yii framework. Я реализовал все до номера страницы 189.
номер страницы 189 говорит, что следующий метод может использоваться для проверки того, разрешено ли пользователю выполнять какое-либо действие или нет.
Если (Yii :: app () -> user-> checkAccess ('createIssue')) {// выполняет необходимую логику}
но этот метод всегда возвращает false для пользователей, которым была назначена операция createIssue
следующая диаграмма базы данных для RBAC
Я связываю UserID и роль для таблицы authassignment, используя следующую команду.
$ AUTH = Yii :: приложение () -> AuthManager; $ Auth-> назначить ( 'член', 1);
Как вы можете видеть, моя таблица пользователя и таблица authassignment не имеют прямых отношений.
И я сконфигурировал файл main.php в папке конфигурации
Это все, что мы сделали до сих пор, и любой из вас может поделиться своими знаниями со мной, если что-то здесь отсутствует. Заранее благодарю за любую помощь.
Давай, чувак! Разумеется, между пользователями и настройками должна быть прямая связь. В следующем фрагменте кода:
$auth=Yii::app()->authManager; $auth->assign('member',1)
«член» принадлежит авторам, а «1» – это идентификатор пользователя, которому назначена эта роль. «userid» в таблице «authassigment» должен указывать на таблицу пользователей.