1

Zend_Aclにホワイトリストまたはブラックリストのアプローチを使用する必要がありますか?つまり、すべてのリソースをすべての人に拒否し、役割ごとに1つの許可ケースを書き込む[ブラックリスト]、またはすべてのリソースを許可して、役割ごとにケアを拒否する[ホワイトリスト]を記述します。

4

4 に答える 4

5

拒否されたすべての役割を指定する必要はありません。

最初に、すべての役割を拒否として定義する必要があります。その後、すべての役割に許可されるアクセスリソースを設定します。そのため、リソースの許可として宣言していないすべてのロールは自動的に拒否されます。

このようなもの :

$acl = new Zend_Acl();
$acl->deny();
$acl->addResource($resource);
$acl->addRole($role);
$acl->allow($role, $resource, $access);
于 2010-09-27T11:02:43.840 に答える
3

ホワイトリストアプローチを使用しています。これは、開始ポリシーとしてdenyAllがあり、指定されたロールのアクセス許可を確認した後にのみリソースへのアクセスを許可することを意味します。より安全な方法だと思います。同じ場合、ほとんどのリソースに応じて、どちらかを選択できます。たとえば、ほとんどのWebサイトが公開されている場合は、allowAllから開始し、xリソースへのアクセスを拒否します。これにより、ACLツリーの成長が制限される可能性があります。

于 2010-10-12T12:44:34.467 に答える
1

何かが反対のことをするのを邪魔しない限り、実装するのに必要な労力が少ないことは常に行う必要があります。

于 2010-09-27T12:15:24.993 に答える
0

達成したいことが正確に何であるかについても言及していないので、誰もが良い答えを出すことができる方法はありません。最も適切なソリューションは特定のユースケースによって異なるため、より多くの情報を提供するか、最適なソリューションを自分で決定してください。

于 2010-09-27T11:07:32.037 に答える