2012-08-23 34 views
5

FOSUserBundleがインストールされており、プロジェクトで使用しています。そのログインページは未知のパス/_wdt/50366043f414dにリダイレクトされます。 default_target_pathform_loginsecurity.ymlファイルに変更しましたが、有効になりませんでした。default_target_pathがFOSUserBundleと連携しません

FOSUserBundleでログインページのターゲットパスを変更するにはどうすればよいですか?

答えて

13

symfony documentation

#app/config/security.yml 

firewalls: 
    main: 
     pattern: ^/ 
     form_login: 
      login_path: /login 
      default_target_path: /my/desired/path 
      always_use_default_target_path: true 
6

に示したように、私は同じ問題があったが、symfonyはWebデバッグツールバーを(ロードしようとしていたので、私はこの問題を持っていた理由だった、truealways_use_default_target_pathを設定する必要がありますエラーの "_wdt"ビット)は、ページロードの最後に呼び出される独自のルートを持ちます。これがあれば、ユーザは「ルートの背後に何のためにページを開くしようとしていることを意味

アプリ/設定/ security.ymlファイル

security: 
    encoders: 
     FOS\UserBundle\Model\UserInterface: sha512 

    role_hierarchy: 
     ROLE_ADMIN:  ROLE_USER 
     ROLE_SUPER_ADMIN: ROLE_ADMIN 

    providers: 
     fos_userbundle: 
      id: fos_user.user_provider.username 

    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: ^/css, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/js, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/, role: ROLE_USER } 

:私の場合、私はそうのように私のsecurity.ymlを構成していました/」、彼はログインする必要がある

私は問題を修正方法が追加することによってだった。 『_wdt』の部分を、匿名ユーザーのためにそれを許可する:

access_control: 
     - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/css, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/js, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/_wdt, role: IS_AUTHENTICATED_ANONYMOUSLY } 
     - { path: ^/, role: ROLE_USER } 
+0

ありがとうございました!これは本当の問題を解決しています。残念ながら、選択された答えは問題の外観を「上書きする」だけです。 –

0

これは、古い問題かもしれないが、代わりにfのアクセス制御を変更する現在のSymfony2の設定では、デバッグツールバーに追加のファイアウォールがあります。

関連する問題