2016-09-28 2 views
1

私は自分の役割に基づいてユーザーにモジュールを割り当てるために私のyii2基本アプリケーションでRBACを使用しています。Yii2 Rbacのauth_assignmentテーブルの割り当てを更新するには?

ロールIDとユーザIDをauth_assignmentテーブルに格納します。

更新中にユーザーの役割を変更した場合。 auth_assignmentテーブルでも変更する必要があります。今私は、認証割り当てからそのユーザーのすべてのエントリを削除し、テーブルに新しいエントリを追加したいと思います。

問題は、auth_assignmentテーブルのデータを更新するか、または割り当てテーブルのデータを削除するためのRBAC関数が見つからないということです。

Yii2のドキュメントremoveAllAssignments()には機能がありますが、テーブル全体が切り詰められます。perticularユーザのエントリのみを削除したいだけです。

機能はありますか?

答えて

1

はい、あります。

assign()は、ユーザーにロールを割り当てます。
revoke()は、ユーザーからロールを取り消します。
revokeAll()は、ユーザーからすべてのロールを取り消します。

ユーザーに割り当てられているすべてのロールの一覧を取得するには、getRolesByUser()を使用します。

+0

Thanks Bizley revokeAll()メソッドが助けてくれました。 –

+0

そうですね、これを追加して他の人にもお答えします。 – Bizley

関連する問題