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.