symfony2 と FOSUserBundle で非常に奇妙な問題が発生しています。
/en/logout でログアウトできますが、/nl/logout または /fr/logout ではできません。
nl または fr でログアウトしようとすると、次のようになります。
You must activate the logout in your security firewall configuration.
私はそれを構成しましたが。/en/logout が機能し、残りが機能しない理由が頭に浮かびません。
これは私のコードです:
security.yml
security:
providers:
fos_userbundle:
id: fos_user.user_provider.username_email
encoders:
FOS\UserBundle\Model\UserInterface: sha512
firewalls:
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
check_path: fos_user_security_check
default_target_path: /%locale%/login
always_use_default_target_path: true
failure_path: /%locale%/login
logout:
path: /%locale%/logout
target: homepage
anonymous: true
ルーティング.yml
user bundle > FOS
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
prefix: /{_locale}
requirements:
_locale: fr|nl|en
コントローラ
class LoginController extends Controller {
/**
* @Route("{_locale}/logout-test", name="logout", defaults={"_locale"="en"} , requirements = {"_locale" = "fr|en|nl"})
* @Template()
*/
public function logoutAction()
{
$test = "";
#throw new \RuntimeException('You must activate the logout in your security firewall configuration.');
#return $this->redirect($this->generateUrl('homepage'));;
}
}
誰か私を助けてくれますか、または次にどこを見るべきか教えてくれますか? それは大歓迎です