5

私はこのガイドに従ってメニュー構成をロードしてきましたが、メニューをロードするための非常に素晴らしくクリーンな方法だと思います。

私の質問は簡単です。構成配列とある種のファクトリを使用して、同じ方法で ACL 構成をロードする方法はありますか?

ない場合、ACL 構成をロードしてそのメニューで簡単に使用するにはどうすればよいですか?

ありがとう!

編集: これは、既に作成されたモジュールを使用し、独自のモジュールを作成しない理由に関する非常に優れたブログ投稿です。http://hounddog.github.com/blog/there-is-a-module-for-that/

4

5 に答える 5

5

おそらくいくつかの方法がありますが、私getViewHelperConfig()はアプリケーションの中でそれを行うことを好みますModule.php(ここではBjyAuthorizeモジュールを使用して ACL の作業を簡素化し、特に構成ファイルで ACL ルールを設定できるようにしますmodule.bjyauthorize.global.php)

public function getViewHelperConfig()
{
    return array(
        'factories' => array(
            'navigation' => function($sm) {
                $auth = $sm->getServiceLocator()->get('BjyAuthorize\Service\Authorize');
                $role = $auth->getIdentityProvider()->getIdentityRoles();
                if (is_array($role))
                    $role = $role[0];

                $navigation = $sm->get('Zend\View\Helper\Navigation');
                $navigation->setAcl($auth->getAcl())->setRole($role);

                return $navigation;
            }
        )
    );
}
于 2012-11-18T10:54:11.097 に答える
5

ZF2 には ACL と RBAC (ロールベースの ACL - ZF2.1 にある可能性があります) が含まれていますが、アプリケーションにプラグインできるモジュールを使用する方が簡単です。BjyAuthorizeは少し肥大化しているように思えます。ZfcUser モジュールを使用する必要があります。私は ZfcRbac を好みます。ACLルールは、ユーザーの役割 (グループ) と、コントローラー、アクション、またはルートへのアクセスに基づいています。構成は 1 つの構成ファイルに格納され、実装が非常に簡単です。

于 2012-11-18T22:38:15.473 に答える