2012-01-13 5 views
5

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

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

Если (Yii :: приложение() -> user-> CheckAccess ('createIssue')) {// выполнять необходимую логику}

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

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

enter image description here

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

$ auth = Yii :: app() -> authManager; $ Auth-> назначить ('член', 1);

Как вы можете видеть, моя таблица пользователей и таблица authassignment не имеют прямых отношений.

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

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

ответ

6

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

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

«член» принадлежит authiments, и «1» является идентификатор пользователя, которые назначены с этой ролью. «userid» в таблице «authassigment» должен указывать на таблицу пользователей.

+0

yep, я сделал глупую ошибку. извините, парни за то, что тратили свое время, – KItis

+2

Не будьте так грубы с самим собой, такие недочеты довольно распространены. Рад помочь вам. –

Смежные вопросы