1

ゲスト(未登録)、メンバー、管理者の3つの異なるユーザーロールを持つWebサイトがあります。

コントローラーへのアクセスを次のように制限したいと思います。

AuthController->ゲスト、メンバー、管理者

AdminController-> admin

MemberController->メンバー

Zend_Aclを使用せずにそれを行う簡単な方法はありますか?Zend_Aclの実際の使い方がよくわかりません。

4

2 に答える 2

1

このチュートリアルは、単純な Auth & ACL スキームを実装するのに非常に役立ちます。

これには、Front Controller プラグインとカスタム Zend_ACL クラスの作成が含まれます。

編集:コメントの質問に答えるには

アクション部分なしでリソースを定義できます

    // Add some resources in the form controller
    $this->add(new Zend_Acl_Resource('error'));
    $this->add(new Zend_Acl_Resource('auth'));

    // Allow guests to see the error, login and index pages
    $this->allow('guest', 'error');
    $this->allow('guest', 'auth');

フロントプラグインのアクションをチェックしないでください

if(!$acl->isAllowed($user->role, $request->getControllerName())) {

私はそれをテストしませんでしたが、動作するはずです。

于 2012-07-21T10:29:43.920 に答える
0

以前は公式のフロントコントローラープラグインの提案がありましたが、残念ながらあまり成果が出ていません。ただし、コードは引き続き利用可能で、Zend DevZone ブログにチュートリアルがあります。

ZF 2.0 に予定されている変更を確認することは価値があるかもしれません。提案への返信のいくつかに従って、Access パーツが変更されました。

于 2012-07-21T10:18:09.387 に答える