2

Zend ACLは、ユーザータイプ(学生、教師)に権限を与えるために使用されていると思います。コンテンツごとに権限を付与するために使用できますか?つまり、このブログ投稿はこのユーザーによって作成されたものであり、編集することができます。他の人はそれを編集することはできません。Zend ACLはこの要件で機能しますか?

4

2 に答える 2

3

はい、ZFのZend ACLを使用して、所有者の権利を決定し、コンテンツ所有者が自分の投稿などを編集できるように設定できます。この場所に必要な具体的な例があるかどうかはわかりませんが、ZendACLチュートリアルをzftutorials.com

アップデート

ACLの設定は、グループなどの設定方法に応じて、さまざまな方法で行うことができます。そのため、これを行う方法を明確に示すことは困難ですが、その要点は、各所有者が実行できることについて権限を設定することです。次に、そのアクションが実行されるコントローラーで、次のようになります。

if (!$this->_helper->acl->isAllowedOwn($author->user_id, 'content', 'edit')) {

これにより、その作成者が自分のコンテンツを編集できるかどうかがわかります。これらのルールは、構成ファイルまたはxmlファイルのいずれかを介して、何らかの方法でセットアップする必要があります。これは、zftutorialsの場所が明らかにする可能性があります。

チュートリアルを作成する時間があれば、ここで更新します。しかし、そうです、ZFを使用してチュートリアルを作成するのはかなり退屈なプロセスです。これは、設定に必要なすべての内部動作は言うまでもなく、アイテムや設定の方法が人によって異なるためです。

于 2010-10-21T15:26:01.790 に答える
3

Zend_Aclのカスタムアサーションを作成できます。allow()これらのカスタムアサーションは、4番目のパラメータとして通常のメソッドに渡すことができます。

$acl->allow(null, null, null, new MyCustomAssertion());

アサーションには、必要な任意のコードを含めることができます。ACLチェックで考慮されるブール値を返す必要があります。たとえば、このユーザーIDは、その特権カスタムチェックでこのリソースへのアクセスを許可されていますか?

于 2010-10-21T16:35:01.410 に答える