我对 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;
},
),
所以我不知道我错过了什么?