Новый пользователь не работает в приложении zf2 (bjyauthorize, zfcuser, zfcadmin и т. д.)

У меня есть приложение zf2 с несколькими пользователями, которые определены как администраторы. Я хочу добавить дополнительного администратора, но не смог заставить его работать. Я аутентифицируюсь с ZfcUserLdap. С существующим пользователем аутентификация проходит хорошо, и я получаю роль администратора; однако, с новым администратором я не получаю роль для / от bjyauthorize. Я считаю, что я не получаю роль из-за панели инструментов разработчика Zend (см. Ниже) и добавления следующего в ZfcUser\Controller\UserController:

var_dump($this->serviceLocator->get('BjyAuthorize\Provider\Identity\ProviderInterface')->getIdentityRoles()); die();

Приведенный выше код добавляется непосредственно перед прямым вызовом в конце действия входа в систему.

Кроме того, я использую инструменты Zend Developer, как отмечено здесь: Zend Framework 2 - BjyAuthorize всегда запрещает доступ. Для существующей учетной записи она показывает роль администратора после входа в систему. Для новой учетной записи она не показывает никакой роли; раздел роли пуст.

Я прочитал: " Никакая роль не обнаружена BjyAuthorize при входе в систему и правильно настроил пользователя в БД. В базе данных у меня есть новый пользователь-администратор, идентичный существующему пользователю-администратору. Таблицы user, user_role и user_role_linker максимально идентичны.

Мне что-то не хватает, чтобы новый пользователь мог получить роль и получить полномочия для прохождения защиты контроллера bjyauthorize.

Потенциально уместная информация о настройке:

application.config.php

$modules = array(
    'Application',
    'ZendDeveloperTools',
    'BjyProfiler',
    'ZfcTwitterBootstrap',
    'ZfcBase',
    'ZfcUser',
    'ZfcUserLdap',
    'BjyAuthorize',
    'ZfcAdmin',
    'Volunteer',
    'Admin'
);

module.bjyauthorize.global.php

'identity_provider' => 'BjyAuthorize\Provider\Identity\ZfcUserZendDb',

'role_providers' => array(
        // this will load roles from the user_role table in a database
        // format: user_role(role_id(varchar), parent(varchar))
        'BjyAuthorize\Provider\Role\ZendDb' => array(
            'table'             => 'user_role',
            'role_id_field'     => 'role_id',
            'parent_role_field' => 'parent',
        ),
    ),

composer.json

{
"name": "zendframework/skeleton-application",
"description": "Skeleton Application for ZF2",
"license": "BSD-3-Clause",
"keywords": [
    "framework",
    "zf2"
],
"homepage": "http://framework.zend.com/",
"require": {
    "php": ">=5.3.3",
    "zendframework/zendframework": "2.*",
    "zf-commons/zfc-base": "0.1.2",
    "zf-commons/zfc-user": "dev-master",
    "bjyoungblood/BjyAuthorize": "1.3.*@dev",
    "zf-commons/zfc-admin": "dev-master",
    "nitecon/zfcuser-ldap": "dev-master",
    "mwillbanks/zfc-twitter-bootstrap": "dev-master",
    "slm/google-analytics": "dev-master",
    "zendframework/zftool": "dev-master"
}

0 ответов

Другие вопросы по тегам