[英]_locale in form login Symfony2
我需要重写防火墙才能使用_locale。 现在,我有了这个配置,除了一件事之外,它工作正常。 在login_check上,我丢失了URL的_locale部分,然后将其重新路由到默认语言环境。 如何修改它以在login_check中使用_locale?
client_firewall:
pattern: ^/client
anonymous: ~
provider: clients
form_login:
login_path: /client/login
check_path: /client/login_check
username_parameter: login
password_parameter: password
default_target_path: /client/cabinet
logout:
intention: logout
path: /client/logout
target: /
success_handler: ~
invalidate_session: true
也许这样的事情应该起作用。 在您的security.yml中:
form_login:
login_path: login
check_path: login_check
always_use_default_target_path: true
default_target_path: /client/cabinet
和bundle中的routing.yml中的check_path定义:
login:
pattern: /
defaults: { ... }
login_check:
pattern: /login_check
要使用本地化的防火墙URL,通常使用路由而不是URL配置防火墙:
...
form_login:
login_path: login
check_path: login_check
default_target_path: cabinet
...
然后,在路由配置中,您只需本地化URL:
...
login:
path: /{_locale}/login
defaults: { _controller: AcmeBundle:Controller:login }
login_check:
path: /{_locale}/login_check
defaults: { _controller: AcmeBundle:Controller:loginCheck }
cabinet:
path: /{_locale}/cabinet
defaults: { _controller: AcmeBundle:Controller:cabinet }
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.