turk porno porno escort rokettube
Ergebnis 1 bis 7 von 7

Thema: bjyauthorize - An alias "bjyauthorize_zend_db_adapter" was requested.....

  1. #1
    Erfahrener Benutzer
    Registriert seit
    18.08.2010
    Beiträge
    110
    Thanks
    7
    Thanked 1 Time in 1 Post

    Standard bjyauthorize - An alias "bjyauthorize_zend_db_adapter" was requested.....

    Hi,

    ich hoffe jemand ist bereits mal auf das gleiche Problem gestoßen. Ich habe die BjyAuthorize-Erweiterung seit längerem intergriert und möchte nun in der config eine ACL für alle Controller und Actions integrieren.

    Leider tauchen immer diese beiden Fehler auf, sobald ich in der Config das Array "guards" definiere:

    Fatal error: Uncaught exception 'Zend\ServiceManager\Exception\ServiceNotFoundExce ption' with message 'An alias "bjyauthorize_zend_db_adapter" was requested but no service could be found.' in C:\xampp\htdocs\xxx\vendor\zendframework\zendframe work\library\Zend\ServiceManager\ServiceManager.ph p on line 489

    Zend\ServiceManager\Exception\ServiceNotFoundExcep tion: An alias "bjyauthorize_zend_db_adapter" was requested but no service could be found. in C:\xampp\htdocs\xxx\vendor\zendframework\zendframe work\library\Zend\ServiceManager\ServiceManager.ph p on line 489

    Da ich mit Doctrine arbeite und nicht mit dem zend_db_adapter, scheint das Problem auf der Hand zu liegen.

    Dieser Adapter wird in /vendor/bjyoungblood/bjy-authorize/config/module.config.php folgend definiert:
    PHP-Code:
    'aliases'     => array(
        
    'bjyauthorize_zend_db_adapter' => 'Zend\Db\Adapter\Adapter',
    ), 
    Hier meine (leicht modifzierte) confi/autoload/bjyauthorize.global.php:
    PHP-Code:
    return array(
        
    'bjyauthorize' => array(

            
    // set the 'guest' role as default (must be defined in a role provider)
            
    'default_role' => 'guest',

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

            
    'role_providers' => array(

                
    'BjyAuthorize\Provider\Role\Config' => array(
                    
    'guest' => array(),
                    
    'user'  => array('children' => array(
                            
    'admin' => array(),
                    )),
                ),

                
    'BjyAuthorize\Provider\Role\ZendDb' => array(
                    
    'table'                 => 'user_role',
                    
    'identifier_field_name' => 'id',
                    
    'role_id_field'         => 'role_id',
                    
    'parent_role_field'     => 'parent_id',
                ),

                
    'BjyAuthorize\Provider\Role\ObjectRepositoryProvider' => array(
                    
    // class name of the entity representing the role
                    
    'role_entity_class' => 'Article\Entity\Role',
                    
    // service name of the object manager
                    
    'object_manager'    => 'doctrine.entity_manager.orm_default',
                ),
            ),

            
    'resource_providers' => array(
                
    'BjyAuthorize\Provider\Resource\Config' => array(
                    
    'pants' => array(),
                ),
            ),

            
    'rule_providers' => array(
                
    'BjyAuthorize\Provider\Rule\Config' => array(
                    
    'allow' => array(
                        
    // allow guests and users (and admins, through inheritance)
                        // the "wear" privilege on the resource "pants"
                        
    array(
                            array(
    'guest''user'), 'pants''wear')
                    ),

                    
    // Don't mix allow/deny rules if you are using role inheritance.
                    // There are some weird bugs.
                    
    'deny' => array(
                            
    // ...
                    
    ),
                ),
            ),

            
    'guards' => array(
                
    'BjyAuthorize\Guard\Controller' => array(
                    array(
                            
    'controller' => 'Application\Controller\Index',
                            
    'action'     => 'index',
                            
    'roles'      => array('guest''admin'),
                    ),
                ),
            ),
        ),
    ); 

    Muss man Bjyauthorize für Doctrine noch etwas umfassender umkonfigurieren?

  2. #2
    Benutzer
    Registriert seit
    28.07.2009
    Beiträge
    37
    Thanks
    0
    Thanked 1 Time in 1 Post

    Standard

    Wie sieht denn überhaupt deine Service-Konfiguration für Zend\Db\Adapter\Adapter bzw. Doctrine aus?

  3. #3
    Erfahrener Benutzer
    Registriert seit
    18.08.2010
    Beiträge
    110
    Thanks
    7
    Thanked 1 Time in 1 Post

    Standard

    Bislang habe ich Doctrine nur in meiner database.local.php..

    PHP-Code:
    <?php

    return array(
            
    'doctrine' => array(
                  
    'connection' => array(
                         
    // default connection name
                         
    'orm_default' => array(
                                
    'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver',
                                
    'params' => array(
                                       
    'host'     => 'localhost',
                                       
    'port'     => '3306',
                                       
    'user'     => 'root',
                                       
    'password' => '',
                                       
    'dbname'   => 'xxx',
                                    
    'charset'  => 'utf8',
                                )
                        )
                  )
           ),
    );
    ..und in einer entsprechenden module.config.php konfiguriert:

    PHP-Code:
    return array(
        
    'doctrine' => array(
               
    'driver' => array(
                      
    __NAMESPACE__ '_driver' => array(
                             
    'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
                             
    'cache' => 'array',
                             
    'paths' => array(__DIR__ '/../src/' __NAMESPACE__ '/Doctrine')
                     ),
                     
    'orm_default' => array(
                            
    'drivers' => array(
                                    
    __NAMESPACE__ '\Entity' => __NAMESPACE__ '_driver',
                            )
                    )
             )
       ),

    Die Konfiguration von Zend\Db\Adapter\Adapter habe ich in meiner database.local.php aufgrund von Doctrine auskommentiert.

  4. #4
    Benutzer
    Registriert seit
    28.07.2009
    Beiträge
    37
    Thanks
    0
    Thanked 1 Time in 1 Post

    Standard

    Ich bin mir nicht sicher, ob Doctrine speziell konfiguriert werden muss, oder ob ZfcUser automatisch ZendDb oder Doctrine wählt,
    aber ich verwende zur Zeit folgenden Provider:

    Code:
    'identity_provider'     => 'BjyAuthorize\Provider\Identity\ZfcUserZendDb',
    Und ZfcUser läuft bei mir dann automatisch über Doctrine.

  5. #5
    Erfahrener Benutzer
    Registriert seit
    12.03.2010
    Ort
    Gersthofen/Augsburg
    Beiträge
    424
    Thanks
    22
    Thanked 30 Times in 20 Posts

    Standard

    Dein Role-Provider muss natürlich auf Doctrine umgestellt werden, hier steht noch Zend\Db als Adapter drin.
    Schau dir mal das Tutroial von Sam an, dort wird ZfcUser und BjyAuthorize verwendet:
    ZfcUser, BjyAuthorize and Doctrine working together - Sam minds
    PHP-Code:
    'bjyauthorize' => array(        // Using the authentication identity provider, which basically reads the roles from the auth service's identity        'identity_provider' => 'BjyAuthorize\Provider\Identity\AuthenticationIdentityProvider',         'role_providers'        => array(            // using an object repository (entity repository) to load all roles into our ACL            'BjyAuthorize\Provider\Role\ObjectRepositoryProvider' => array(                'object_manager'    => 'doctrine.entity_manager.orm_default',                'role_entity_class' => 'SamUser\Entity\Role',            ),        ),    ), 
    Nichts ist so hart wie das Leben!

    http://www.rootprogger.de

  6. #6
    Benutzer
    Registriert seit
    28.07.2009
    Beiträge
    37
    Thanks
    0
    Thanked 1 Time in 1 Post

    Standard

    https://github.com/bjyoungblood/BjyA...ter/UPGRADE.md

    The BjyAuthorize\Provider\Identity\ZfcUserDoctrine provider was removed, use the simpler BjyAuthorize\Provider\Identity\AuthenticationIdent ityProvider instead.

    https://github.com/bjyoungblood/BjyAuthorize/issues/4 (An alias "zfcuser_zend_db_adapter" was requested but no service could be found.)

  7. #7
    Erfahrener Benutzer
    Registriert seit
    18.08.2010
    Beiträge
    110
    Thanks
    7
    Thanked 1 Time in 1 Post

    Standard

    Dem samminds-Tutorial bin ich gefolgt und meine komplette module.config.php sieht folgend aus:

    PHP-Code:
    return array(
        
    'doctrine' => array(
              
    'driver' => array(
                    
    __NAMESPACE__ '_driver' => array(
                           
    'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
                           
    'cache' => 'array',
                           
    'paths' => array(__DIR__ '/../src/' __NAMESPACE__ '/Doctrine')
                   ),
                   
    'orm_default' => array(
                           
    'drivers' => array(
                                    
    __NAMESPACE__ '\Entity' => __NAMESPACE__ '_driver',
                            )
                  )
           )
        ),

        
    'zfcuser' => array(
             
    // telling ZfcUser to use our own class
             
    'user_entity_class'       => 'Article\Entity\User',
             
    // telling ZfcUserDoctrineORM to skip the entities it defines
             
    'enable_default_entities' => false,
        ),

        
    'bjyauthorize' => array(
             
    // Using the authentication identity provider, which basically reads the roles from the auth service's identity
             
    'identity_provider' => 'BjyAuthorize\Provider\Identity\AuthenticationIdentityProvider',

             
    'role_providers'        => array(
                    
    // using an object repository (entity repository) to load all roles into our ACL
                    
    'BjyAuthorize\Provider\Role\ObjectRepositoryProvider' => array(
                        
    'object_manager'    => 'doctrine.entity_manager.orm_default',
                        
    'role_entity_class' => 'Article\Entity\Role',
                ),
          ),
        ),

    ); 
    Beim erneuten integrieren der Konfiguration wird aber grad kein Fehler mehr geworfen. Nicht das ich das zum ersten mal neu aufgesetzt hätte. Aber wenn die Konfiguration so auch inordnung sein müsste, dann schau ich da jetzt erstmal weiter.

    Thx (kann aktuell noch nicht sagen, warum ich jetzt lange den beschriebenen Fehler hatte).

Ähnliche Themen

  1. Antworten: 19
    Letzter Beitrag: 21.03.2011, 16:28
  2. Antworten: 4
    Letzter Beitrag: 18.08.2010, 13:36
  3. Antworten: 5
    Letzter Beitrag: 15.08.2010, 11:18
  4. Antworten: 25
    Letzter Beitrag: 02.05.2008, 18:11
  5. Antworten: 12
    Letzter Beitrag: 17.04.2008, 11:50

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •