Codious-JR
Codious-JR

Reputation: 1748

FOSUserBundle Authentication not working on production server

I am new to Symfony, and probably thats why i don't seem to be able to target where the certain bugs generate from. A new problem popped up when i put my site on the production server, the FOSUserBundle Authentication doesn't seem to work

Note: This worked absolutely fine on localhost, but as soon as i put it on the distant server, it does not validate any user.

The web/config.php file recommends that i :

    1) Install and enable the php_posix extension (used to colorize the CLI output).
    2) Install and enable the intl extension (used for validators)
    3) Install and enable a PHP accelerator like APC (highly recommended).
    4) Set short_open_tag to off in php.ini*.

Could this cause problems in Authentication ?

my config.yml file

    imports:
        - { resource: parameters.yml }
        - { resource: security.yml }

    framework:
        #esi:             ~
        translator:      { fallback: "%locale%" }
        translator:      ~
        secret:          "%secret%"
        router:
            resource: "%kernel.root_dir%/config/routing.yml"
            strict_requirements: ~
        form:            ~
        csrf_protection: ~
        validation:      { enable_annotations: true }
        templating:
            engines: ['twig']
            #assets_version: SomeVersionScheme
        default_locale:  "%locale%"
        trusted_hosts:   ~
        trusted_proxies: ~
        session:
            # handler_id set to null will use default session handler from php.ini
            handler_id:  ~
        fragments:       ~
        http_method_override: true

    # Twig Configuration
    twig:
        debug:            "%kernel.debug%"
        strict_variables: "%kernel.debug%"

    # Assetic Configuration
    assetic:
        debug:          "%kernel.debug%"
        use_controller: false
        bundles:        [ LesCouvertsBundle , LesRestaurantBundle , LesVirtualMarketBundle , LesShopBundle ]
        #java: /usr/bin/java
        filters:
            cssrewrite: ~
            #closure:
            #    jar: "%kernel.root_dir%/Resources/java/compiler.jar"
            #yui_css:
            #    jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"

    # Doctrine Configuration
    doctrine:
        dbal:
            driver:   "%database_driver%"
            host:     "%database_host%"
            port:     "%database_port%"
            dbname:   "%database_name%"
            user:     "%database_user%"
            password: "%database_password%"
            charset:  UTF8
            # if using pdo_sqlite as your database driver, add the path in parameters.yml
            # e.g. database_path: "%kernel.root_dir%/data/data.db3"
            # path:     "%database_path%"

        orm:
            auto_generate_proxy_classes: "%kernel.debug%"
            auto_mapping: true

    # Swiftmailer Configuration
    swiftmailer:
        transport: "%mailer_transport%"
        host:      "%mailer_host%"
        username:  "%mailer_user%"
        password:  "%mailer_password%"
        encryption: ssl
        auth_mode:  login
        spool:     { type: memory }

    fos_user:
        db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
        firewall_name: main
        user_class: Les\UserBundle\Entity\User
        registration:
            confirmation:
                from_email:
                     address:        [email protected]
                     sender_name:    Lescouverts Registration
                enabled:    false
        from_email:
            address:        [email protected]
            sender_name:    LesCouverts

    services:
        resto_module:
            class:        Les\RestoModule\Module
            arguments:    [module]
        lists_module:
            class:        Les\RestoParam\Param
            arguments:    [parameters]

my security.yml file

    security:
        encoders:
            FOS\UserBundle\Model\UserInterface: sha512

        role_hierarchy:
            ROLE_CLIENT:      ROLE_USER
            ROLE_RESTO:       ROLE_CLIENT
            ROLE_SHOP:        ROLE_CLIENT
            ROLE_ADMIN:       [ ROLE_USER, ROLE_CLIENT, ROLE_RESTO , ROLE_SHOP ]
            ROLE_SUPER_ADMIN: ROLE_ADMIN

        providers:
            fos_userbundle:
                id: fos_user.user_provider.username

        firewalls:
            main:
                pattern: ^/
                form_login:
                    provider: fos_userbundle
                    login_path:     fos_user_security_login
                    csrf_provider: form.csrf_provider
    #                        check_path: /login_check
                    check_path: fos_user_security_check
                    default_target_path: /
                    csrf_provider: form.csrf_provider

                logout:
                    path: fos_user_security_logout

                anonymous:    true

        access_control:
             - { path: ^/booking, role: ROLE_CLIENT }
             - { path: ^/party_calendar, role: ROLE_CLIENT }
             - { path: ^/restaurant_admin, role: ROLE_RESTO }
             - { path: ^/shop_admin, role: ROLE_SHOP }
             - { path: ^/virtual_market, role:  [ ROLE_RESTO, ROLE_SHOP ] }
             - { path: ^/root, role: ROLE_ADMIN }

             - { path: ^/secure_area/login, role: IS_AUTHENTICATED_ANONYMOUSLY }
             - { path: ^/secure_area/connect, role: IS_AUTHENTICATED_ANONYMOUSLY }
             - { path: ^/secure_area, role: ROLE_USER }

I am not sure how to debug this problem!

Plus in development mode i am getting the error

      RuntimeException: Failed to write cache file    
          "/var/www/vhosts/httpdocs/app/cache/dev/classes.php".

So i cant even see if the profiler is indicating any errors!

Upvotes: 1

Views: 1381

Answers (1)

polmabri
polmabri

Reputation: 1163

One common issue is that the app/cache and app/logs directories must be writable both by the web server and the command line user.

http://symfony.com/doc/current/book/installation.html#configuration-and-setup

Upvotes: 1

Related Questions