1

I try to Integrates the FOSUserBundle with the SonataAdminBundle in symfony2.2 by sonatauserbundle,but want i open this url http://dev.test.com/app_dev.php/register it says

"No mapping found for field 'username' in class 'Application\Sonata\UserBundle\Document\User'."

and I want to login admin panel,but I can't login by my test admin user.

this is my composer.js

"require": {
        "php": ">=5.3.3",
        "symfony/symfony": "2.2.*",
        "doctrine/orm": "~2.2,>=2.2.3",
        "doctrine/doctrine-bundle": "1.2.*",
        "twig/extensions": "1.0.*",
        "symfony/assetic-bundle": "2.1.*",
        "symfony/swiftmailer-bundle": "2.2.*",
        "symfony/monolog-bundle": "2.2.*",
        "sensio/distribution-bundle": "2.2.*",
        "sensio/framework-extra-bundle": "2.2.*",
        "sensio/generator-bundle": "2.2.*",
        "jms/security-extra-bundle": "1.4.*",
        "jms/di-extra-bundle": "1.3.*",
        "doctrine/mongodb-odm": "1.0.*@dev",
        "doctrine/mongodb-odm-bundle": "3.0.*@dev",
        "friendsofsymfony/user-bundle": "*",
        "sonata-project/easy-extends-bundle" : "dev-master",
        "sonata-project/cache-bundle": "dev-master",
        "sonata-project/jquery-bundle": "1.8.x-dev",
        "sonata-project/exporter": "1.2.1",
        "sonata-project/block-bundle": "dev-master",
        "sonata-project/user-bundle": "dev-master",
        "sonata-project/admin-bundle": "dev-master",
        "sonata-project/doctrine-mongodb-admin-bundle": "dev-master",
        "knplabs/knp-menu-bundle": "1.1.x-dev"
    }

this is my config.yml

# Mongodb Configuration
doctrine_mongodb:
    connections:
        default:
            server: mongodb://localhost:27017
            options: {}
    default_database: test
    document_managers:
        default:
            auto_mapping: true

#FOSUserBundle Configuration
# fos_user:
#     db_driver: mongodb # other valid values are 'mongodb', 'couchdb' and 'propel'
#     firewall_name: main
#     user_class: Acme\UserBundle\Entity\User

sonata_block:
    default_contexts: [cms]
    blocks:
        sonata.admin.block.admin_list:
            contexts:   [admin]

        sonata.block.service.text:
        sonata.block.service.rss:

sonata_admin:
    title:      Admin Panel
    templates:
        ## default global templates
        layout:  SonataAdminBundle::standard_layout.html.twig
        ajax:    SonataAdminBundle::ajax_layout.html.twig

        ## default actions templates, should extend a global templates
        list:    SonataAdminBundle:CRUD:list.html.twig
        show:    SonataAdminBundle:CRUD:show.html.twig
        edit:    SonataAdminBundle:CRUD:edit.html.twig

fos_user:
    db_driver: mongodb
    firewall_name: main
    user_class: Application\Sonata\UserBundle\Document\User

sonata_user:
    security_acl: false
    manager_type: mongodb

# Swiftmailer Configuration
swiftmailer:
    transport: %mailer_transport%
    host:      %mailer_host%
    username:  %mailer_user%
    password:  %mailer_password%
    spool:     { type: memory }

I develop use symfony2.2 and mongodb,please help me if you know ,thx very much!

user1683012
  • 315
  • 1
  • 5
  • 14
  • 2
    Did you implement the user class ? user_class: Application\Sonata\UserBundle\Document\User If so check that it extends is the SonataUserBundle BaseUser and not the FOSUserBundle BaseUser. And make sure to include new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'), into your AppKernel.php – cb0 May 02 '13 at 15:58

1 Answers1

0

Maybe Symfony 2 can't read the mapping.

In your app/config/config.yml, you look for the doctrine configuration.

doctrine_mongodb:
    connections:
        default:
            server: mongodb://localhost:27017
            options: {}
    default_database: hello_%kernel.environment%
    document_managers:
        default:
            mappings:
                AcmeDemoBundle: ~

Add your bundles for a mappings section

I hope this help bless

Slinker009
  • 105
  • 1
  • 9