1

私はACLを実装しようとしていますが、それを実行するための最良の(よりパフォーマンスの高い)方法について、あなたの意見をお願いします。

すべてのユーザーへのアクセスを拒否し、各ユーザーに応じてアクセス許可を付与する方がよいですか、それともデフォルトですべてのユーザーにアクセスを許可し、アクセス許可を削除する方がよいですか。

より具体的にしようとすると、SuperAdmin、ClientAdmin、BasicMemberの3人のユーザーがいると想像してください。

ClientAdmin管理者は、システムに登録されているすべてのユーザーを表示するなど、 SuperAdminとほぼ同じ権限を持っていますが、変更を加えることはできず、「読み取り」するだけです。

この時点で、ユーザーのすべてのアクセス許可を一覧表示する関数を作成し、各リソースで、currentUserRoleと認証をチェックして次のようにします。

$acl = $this->generateAcl($roleId, AclResourceBean::ENTER_DATA, 'read'));

だから..私はあなたの意見をチェックする方が良いかどうかを知りたいです:彼が許可を持っているなら、showAction!または、許可がない場合は、hideAction。(例:他のユーザーに対する読み取り権限を持っているClientAdminの場合、[編集]ボタンを非表示にする必要があります。または、常に非表示にして、権限がない場合は表示する方がよいでしょう。

4

1 に答える 1

5

それは主にアプリケーションに依存すると思います。しかし、私は通常、すべてを拒否してアクセスを許可する傾向があります。そうすれば、アクセス許可を忘れて、あるべきでない場所に人がいる可能性が低くなります。

于 2012-06-19T09:01:08.370 に答える