Ale*_*nko 9 php security localization internationalization symfony
所有!我想用安全系统一起保护我的应用程序.在security.yml文件下面
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
in_memory:
users:
user: { password: userpass, roles: [ 'ROLE_USER' ] }
admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/{_locale}/demo/secured/login$
security: false
secured_area:
pattern: ^/{_locale}/demo/secured/
form_login:
check_path: /{_locale}/demo/secured/login_check
login_path: /{_locale}/demo/secured/login
logout:
path: /{_locale}/demo/secured/logout
target: /{_locale}/demo/
Run Code Online (Sandbox Code Playgroud)
问题:
注销 - >目标返回不起作用.有人能帮助我吗?
PS:任何例子都将不胜感激!
谢谢
Had*_*des 15
只要确保为它们定义所有使用locale变量的路由,安全性似乎会自动获取它.无需在安全配置中考虑区域设置.
这是我项目的一个例子.
摘录自security.yml:
login:
pattern: /(game|admin)/login$
security: false
admin:
pattern: /admin/
form_login:
check_path: /admin/login_check
login_path: _admin_login
logout:
path: _admin_logout
target: _home
game:
pattern: /game/
form_login:
check_path: /game/login_check
login_path: _game_login
logout:
path: _game_logout
target: _home
Run Code Online (Sandbox Code Playgroud)
摘录自routing.yml:
BrowserMMOSecurityBundle:
resource: "@BrowserMMOSecurityBundle/Controller/"
type: annotation
prefix: /{_locale}/
defaults: { _locale: en }
requirements:
_locale: en|fr
_game_login_check:
pattern: /game/login_check
_admin_login_check:
pattern: /admin/login_check
_admin_logout:
pattern: /{_locale}/admin/logout
requirements:
_locale: en|fr
_game_logout:
pattern: /{_locale}/game/logout
requirements:
_locale: en|fr
Run Code Online (Sandbox Code Playgroud)
以上配置适合我.另外值得一提的是,_admin_login和_game_login路由在我的注解定义的SecurityController类.