我正在远程服务器上开发一个带有身份验证的symfony 2.8应用。身份验证通过表单或api密钥(simple_preauth)传递。在成功验证时,会话密钥保存在cookie中,以便我的simple_preauth验证器(无状态设置为true)在每个请求上检查它。 simple_preauth身份验证器允许两件事:通过get参数传递的秘密api密钥对用户进行身份验证,并检查当前会话是否在远程服务器上过期。只允许经过身份验证的用户执行任何操作所以有我的security.yml文件:
providers:
webservice:
id: app.webservice_user_provider
access_control:
- { path: ^/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY}
- { path: ^/, roles: ROLE_USER}
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
anonymous: ~
provider: webservice
stateless: true
simple_form:
authenticator: app.form_authenticator
login_path: /login
check_path: /login_check
success_handler: app.auth_success_handler
simple_preauth:
authenticator: app.sessionlogin_authenticator
logout:
path: /logout
target: /login
success_handler: app.logout_handler
问题: