0

我用基于表单的登录设置了一个 Symfony2 项目。

这是我的security.yml配置的样子:

firewalls:
    login:
        pattern:  ^/login$
        security: false

    secured_area:
        pattern:    ^/
        anonymous: ~
        form_login:
            login_path:  /login
            check_path:  /login_check
            default_target_path: /home
        logout:
            path:   /logout
            target: /

access_control:
    - { path: ^/admin, roles: ROLE_ADMIN }             
    - { path: ^/login, access: "isAnonymous()" }
    - { path: ^/login_check, access: "isAnonymous()" }
    - { path: ^/register, access: "isAnonymous()" }

通常,登录和注销都很好,但是登录时,我被重定向到/而不是请求的 URL(引用者)。无论use_referer设置为true还是都会发生这种情况false

当设置always_use_default_target_path为 时true,我会被重定向到默认路径 ( /home) 而不是/,这确实有意义。

谁能给我一个提示,说明为什么我被重定向到/而不是引用 URL?

谢谢!

4

1 回答 1

0

好吧,这是我的错......我不知何故忘记了前段时间我在登录操作的表单模板(login.html.twig)中添加了以下行:

<input type="hidden" name="_target_path" value="/" />

发表评论后,突然一切都恢复正常了...... ;-)

于 2012-10-10T15:03:52.403 回答