2012-02-16 3 views
2

CakePHPアプリケーションでProjectモデルとUserモデルがあるとします。 ACLの使用ユーザーがProjectsControllerのプロジェクトや特定のアクションにアクセスできるかどうかを制御できます。ACLを使用してCakePHPのリソースIDによるリソースへのアクセスを制限する

しかし、ユーザーに特定のプロジェクトを表示することが許可されているかどうかをさらに制御したいと考えています。 http://example.com/projects/3のようなURLを使用してid = 3のプロジェクトにアクセスしてください。

これはACLでも可能ですか、それとも追加チェックを追加する必要がありますか?

ありがとうございます!

答えて

3

モデルの特定の値へのアクセスを制限するには、ACL以外のものを使用する必要があります。

ユーザーとプロジェクトの関係を包括的で排他的に定義するのが最適です。

おそらく、ProjectUserモデル(プロジェクトとユーザーのHABTM)とそのモデルの単純な関数(おそらくuserAllowed($projectId, $userId))が必要です。そのユーザーがそのプロジェクトにアクセスできることを確認します。