Symfony 2 - esconder todo o site com um diálogo de autenticação HTTP
Eu estou usando o Symfony 2 para construir um website.
O trabalho está em andamento (portanto, não quero que os usuários ou mecanismos de pesquisa o acessem), mas meu cliente quer ver meu progresso. Eu estava pensando que uma solução fácil era proteger todo o site com autenticação HTTP usando o mecanismo fornecido pela funcionalidade de segurança do Symfony 2.
Eu estou usando FOSUserBundle como o site terá usuários que precisam se registrar e fazer o login.
Este é meu security.yml, que funciona muito bem:
<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>
Portanto, eu estava tentando adicionar outra coisa em cima, para permitir que o site fosse protegido pela Autenticação HTTP.
Eu mudei o arquivo para:
<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>
Basicamente eu adicionei owhole_website_provider
provedor, owhole_website
firewall e um extraaccess_control
.
Mas isso não funcionou: quando eu acesso o site, sou redirecionado para o formulário de login, é isso.
Você tem alguma idéia se eu posso fazer isso e como?
N .: Eu preferiria não usar nenhum recurso do Apache para isso.