Symfony 2 - oculta todo el sitio web con un diálogo de autenticación HTTP

Estoy usando Symfony 2 para construir un sitio web.

El trabajo está en progreso (por lo tanto, no quiero que los usuarios o motores de búsqueda accedan a él), pero mi cliente quiere ver mi progreso. Pensaba que una solución fácil era proteger todo el sitio web con autenticación HTTP utilizando el mecanismo provisto por la funcionalidad de seguridad Symfony 2.

Estoy usando FOSUserBundle ya que el sitio web tendrá usuarios que necesitan registrarse e iniciar sesión.

Este es mi security.yml, que funciona muy bien:

<code>security:
    providers:
        fos_userbundle:
            id: fos_user.user_manager

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

    firewalls:
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
            logout:       true
            anonymous:    true     

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }
        - { path: ^/account, role: IS_AUTHENTICATED_FULLY }

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN
</code>

Por lo tanto, estaba tratando de agregar algo más, para permitir que el sitio web esté protegido por autenticación HTTP.
Cambié el archivo a:

<code>security:
    providers:
        fos_userbundle:
            id: fos_user.user_manager
        whole_website_provider:
            users:
                ryan:  { password: ryanpass, roles: 'ROLE_USER' }           

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

    firewalls:
        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_provider: form.csrf_provider
            logout:       true
            anonymous:    true
        whole_website:
            pattern: ^/
            anonymous: ~
            http_basic:
                realm: "Secured Demo Area"       

    access_control:
        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/admin/, role: ROLE_ADMIN }
        - { path: ^/account, role: IS_AUTHENTICATED_FULLY }
        - { path: ^/, role: ROLE_USER }

    role_hierarchy:
        ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN: ROLE_ADMIN
</code>

Básicamente agregué elwhole_website_provider proveedor, elwhole_website cortafuegos y un extraaccess_control.
Pero eso no funcionó: cuando accedo al sitio web, me redireccionan al formulario de inicio de sesión, eso es todo.

¿Tienes idea de si puedo hacerlo y cómo?

N.B .: Preferiría no usar ninguna función de Apache para ello.

Respuestas a la pregunta(2)

Su respuesta a la pregunta