2012-01-13 8 views
5

私はページ番号189のYiiフレームワーク:役割ベースのアクセス制御

までのすべてのものを実装しているbook.IのYiiフレームワークを使用してアジャイルWebアプリケーション開発に言及したアプリケーションのためのYiiフレームワークを使用したロールベースのアクセス制御を実現していますページ番号189は、以下のメソッドを使用して、ユーザーが何らかのアクションを実行できるかどうかをチェックすることができると述べています。

もし(のYii ::アプリ() - > USER->のcheckAccess( 'createIssue')){// 必要なロジックを実行}

が、このメソッドは常に持っているユーザーのためにfalseを返しますcreateIssueに割り当てられ、次の操作

はRBAC

のデータベースの図であります210

次のコマンドを使用して、authassignmentテーブルのUserIDとロールをリンクしています。

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

ご覧のとおり、私のuserテーブルとauthassignmentテーブルには直接の関係はありません。

と私はこれらは我々がこれまで行っていると、すべてのものがここに欠落している場合すべてのボディは、私とあなたの知識を共有することができるすべてのある設定フォルダに

をmain.phpファイルを設定しています。助けを前にありがとう。

答えて

6

よろしくお願いします。もちろん、ユーザーと義務の間に直接の関係がなければなりません。次のコードで:

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

「メンバー」authimentsに属し、「1」は、その役割が割り当てられているユーザのIDです。 "authassigment"テーブルの "userid"はusersテーブルを指していなければなりません。

+0

うん、私はばかな間違いをしていた。あなたの時間を無駄にしてくださった皆様、申し訳ありません。 – KItis

+2

自分自身とあまり無礼にしないでください。あなたを救うのが私の喜びです。 –