Symfony 2 - скрыть весь сайт с помощью диалога HTTP-аутентификации

Я использую Symfony 2 для создания веб-сайта.

Работа продолжается (поэтому я не хочу, чтобы пользователи или поисковые системы обращались к ней), но мой клиент хочет видеть мой прогресс. Я думал, что простым решением было защитить весь сайт с помощью HTTP-аутентификации, используя механизм, предоставляемый функциональностью безопасности Symfony 2.

Я использую FOSUserBundle, так как на сайте будут пользователи, которым необходимо зарегистрироваться и войти в систему.

Это мой security.yml, который прекрасно работает:

<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>

Поэтому я пытался добавить что-то еще, чтобы веб-сайт был защищен HTTP-аутентификацией.
Я изменил файл на:

<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>

В основном я добавилwhole_website_provider провайдер,whole_website брандмауэр и дополнительныйaccess_control.
Но это не сработало: когда я захожу на веб-сайт, меня перенаправляют на форму входа в систему, вот и все.

У вас есть идея, могу ли я это сделать и как?

НБ .: Я бы предпочел не использовать для этого какую-либо функцию Apache.

Ответы на вопрос(2)

Ваш ответ на вопрос