0

我编写了一个应用程序,我需要在其中保护所有内容(登录页面除外)并重定向到登录。我尝试了http://symfony.com/doc/master/book/security.html的解决方案(避免常见的陷阱 -> 确保登录页面不安全)但它对我没有帮助 - 我的请求仍然被重定向到无限循环。

这是firewalls我的 security.yml 文件的一部分:

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

    login:
        pattern:  ^/login$
        security: false

    secured_area:
        pattern:    .*
        anonymous: ~
        form_login:
            login_path:  login
            check_path:  login_validation
            success_handler: authentication_handler
        remember_me:
            key:      "%secret%"
            lifetime: 31536000 # 365 days in seconds
            path:     /
            domain:   ~ # Defaults to the current domain from $_SERVER

预先感谢您的任何帮助。

编辑:当然,我只希望登录和完全认证的用户有任何访问权限。

4

2 回答 2

0

进入security.yml

firewalls:
  main:
   pattern: .*
   form_login:
     provider: fos_userbundle
     csrf_provider: form.csrf_provider
     default_target_path: /index #everything you want to redirect after login to
     always_use_default_target_path: true
   logout:       true
   anonymous:    true
access_control:
  - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
  - { path: ^/.*, role: ROLE_USER } #is just a role example, change it

这会成功的

access_control您错过了将触发firewall此防火墙捕获的事件的第二部分(在这种情况下main

于 2013-04-19T07:01:19.063 回答
0

我相信您还需要允许匿名访问您的检查路径。

于 2013-04-18T19:07:53.313 回答