0

zfcrbac でわからない問題が発生しています。

構成で何かを見逃している可能性があると思いますが、何の手がかりもなくドキュメントを数回読みました。

これを使用しようとするたびに、

「ZfcRbac\Service\RoleService::__construct() に渡される引数 1 は、ZfcRbac\Identity\IdentityProviderInterface のインスタンス、指定された Zend\Authentication\AuthenticationService のインスタンスでなければなりません」

私は持っている

'identity_provider' => 'AuthService',

どの AuthService が Zend\Authentication\AuthenticationService のエイリアスであるか

そして、私はそれをこのように構成しました

'factories' => array(
            'Auth\Model\AuthStorage' => function($sm){
                return new \Auth\Model\AuthStorage('auth_user');  
            },

            'AuthService' => function($sm) {
                $dbAdapter      = $sm->get('Zend\Db\Adapter\Adapter');
                $dbTableAuthAdapter  = new DbTableAuthAdapter($dbAdapter, 'user','username','password', 'md5(concat("' . $staticSalt . '" ,?,passwordSalt)) and active=1');

                $authService = new AuthenticationService();
                $authService->setAdapter($dbTableAuthAdapter);
                $authService->setStorage($sm->get('Auth\Model\AuthStorage'));


                return $authService;
            },
        ),

だから私は何が欠けているのかわからないのですか?

4

1 に答える 1

3

ドキュメントで述べたように: https://github.com/ZF-Commons/zfc-rbac/blob/master/config/zfc_rbac.global.php.dist#L28

オプションのサービス名は、identity_providerZfcRbac\Identity\IdentityProviderInterface を実装するインスタンスを返す必要があります。AuthenticationService を使用する組み込みのものを提供しています: https://github.com/ZF-Commons/zfc-rbac/blob/master/config/zfc_rbac.global.php.dist#L31

デフォルトのままにしておくことをお勧めします。を構築するためZfcRbac\Identity\AuthenticationIdentityProviderに、ZfcRbacZend\Authentication\AuthenticationServiceはそのファクトリからフェッチします。したがって、実際に必要なのは、構成内の AuthService を「Zend\Authentication\AuthenticationService」に置き換えることです。

于 2014-03-24T15:49:48.710 に答える