首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >致命错误: zfc-rbac快速启动中的异常

致命错误: zfc-rbac快速启动中的异常
EN

Stack Overflow用户
提问于 2015-02-21 03:40:10
回答 1查看 313关注 0票数 2

我试图遵循zfc-rbac教程.我马上就被困住了。我想我需要创建一个服务,但是本教程没有提示如何创建一个服务。

谢谢你的帮助。

代码语言:javascript
复制
module.config.php
---------------
'service_manager' => array(
    'factories' => array(
        'Zend\Authentication\AuthenticationService' => function($sm) {
            // Create your authentication service!
        }
    ),

),
'zfc_rbac' => [
    'protection_policy' => \ZfcRbac\Guard\GuardInterface::POLICY_ALLOW,
    'guards' => [
        'ZfcRbac\Guard\RouteGuard' => [
            //ADMIN ACCOUNT GUARDS
            'user' => ['admin-master'],
            'user/login' => ['guest'],
            'user/logout' => ['admin-master', 'merchant-worker', 'guest'],
            'user/register' => ['admin-master', 'merchant-admin', 'guest'],
            'user/change-password' => ['admin-master', 'merchant-worker'],
            'user/forgot-password' => ['guest'],
            //CUSTOMER ACCOUNT GUARDS
            'customer' => ['customer'],
        ]
    ],
    'identity_provider' => \RoleBasedUser\Service\AuthenticationService::class,
    'role_provider' => [
        'ZfcRbac\Role\ObjectRepositoryRoleProvider' => [
            'object_manager' => 'doctrine.entitymanager.orm_default',
            'class_name' => 'RoleBasedUser\Entity\HierarchicalRole',
            'role_name_property' => 'name'
        ]
    ],
    'redirect_strategy' => [
        'redirect_when_connected' => true,
        'redirect_to_route_connected' => 'home',
        'redirect_to_route_disconnected' => 'user/login',
        'append_previous_uri' => true,
        'previous_uri_query_key' => 'redirectTo'
    ],
]
代码语言:javascript
复制
Module.php
-------
public function onBootstrap(EventInterface $e) {
    $t = $e->getTarget();

    $t->getEventManager()->attach(
            $t->getServiceManager()->get('ZfcRbac\View\Strategy\RedirectStrategy')
    );
}

在我的控制器内,我有以下内容

代码语言:javascript
复制
AlbumController.php
-----------------
public function indexAction() {
    if (!$this->authorizationService->isGranted('delete')) {
        throw new UnauthorizedException();
    }
    return new ViewModel(array(
        'myfetch' => $this->getAlbumTable()->fetchAll(),
            )
    );
}

我收到的错误消息是:

致命错误:带有消息'Zend\ServiceManager\ServiceManager::get无法在C:\Users\Sama\Documents\NetBeansProjects\zf2\vendor\zendframework\zendframework\library\Zend\ServiceManager\ServiceManager.php:550中获取或创建RoleBasedUser\Service\AuthenticationService‘实例的未捕获异常C:\Users\Sama\Documents\NetBeansProjects\zf2\vendor\zendframework\zendframework\library\Zend\ServiceManager\ServiceManager.php:550

EN

回答 1

Stack Overflow用户

发布于 2015-05-05 11:54:03

尝试安装ZfcUser并向module.config.php添加别名,如文档中所述

代码语言:javascript
复制
'service_manager' => array(
    'aliases' => array(
        'Zend\Authentication\AuthenticationService' =>'zfcuser_auth_service'  
    )  
 )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28641825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档