2017-02-01 5 views
0

У меня есть сайт, работающий с Symfony2, для которого требуется логин. Там в брандмауэр установлен так:Symfony2 и анонимный брандмауэр

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 
    admin: 
     pattern: ^/ 
     entry_point: security_user.authentication.entry_point 
     ntlm: ~ 
     fr3d_ldap: ~ 
     form_login: 
      check_path: /login_check 
      login_path: /login 
      #always_use_default_target_path: true 
      use_referer: true 
      success_handler: security_user.login.success_handler 
      default_target_path:/
     logout: 
      path: /logout 
      target:/
      success_handler: security_user.logout.handler 
      invalidate_session: true 
     anonymous: ~ 

Я хотел бы, чтобы открыть доступ к конкретным страницам без входа в систему. я пытался добавить, что firewal:

my_firewall: 
     context: my_context 
     pattern: ^/url-to-open.*$ 
     anonymous: true 

Но я все еще получаю перенаправлены на страницу входа в систему. Что мне не хватает? Спасибо

ответ

1

Вам не нужен новый межсетевой экран, но для установки access_control. В следующем примере все маршруты, в которых путь содержит выражение «/ some_path», могут быть недоступны для пользователей, не прошедших проверку подлинности. Вы должны иметь дело с Symfony doc около Security и How access_controll works

firewalls: 
    dev: 
     pattern: ^/(_(profiler|wdt)|css|images|js)/ 
     security: false 
    admin: 
     pattern: ^/ 
     entry_point: security_user.authentication.entry_point 
     ntlm: ~ 
     fr3d_ldap: ~ 
     form_login: 
      check_path: /login_check 
      login_path: /login 
      #always_use_default_target_path: true 
      use_referer: true 
      success_handler: security_user.login.success_handler 
      default_target_path:/
     logout: 
      path: /logout 
      target:/
      success_handler: security_user.logout.handler 
      invalidate_session: true 
     anonymous: ~ 

access_control: 
     - { path: /some_path, role: IS_AUTHENTICATED_ANONYMOUSLY } 
Смежные вопросы