我解释。我有 2 个内核:AdminKernel
和ApiKernel
.
api 的会话使用 admin 的会话(in api/config/config.yml
):
framework:
session:
save_path: %kernel.root_dir%/../admin/cache/%kernel.environment%/sessions
security.yml
常见的是:
security:
...
firewalls:
...
admin_login:
pattern: ^/admin/user/login$
security: false
api:
pattern: ^/api
http_basic: ~
admin:
pattern: ^/admin
form_login:
check_path: /admin/user/login_check
login_path: /admin/user/login
default_target_path: /admin
logout:
path: /admin/user/logout
target: /admin
remember_me:
key: G>n[,O+^@F)j2_0^yFR_(|q<X~YtGD2:PV3zuktP0+/u*We]Ix$An X:m!#eeYEx
lifetime: 3600
path: /
domain: ~ # Defaults to the current domain from $_SERVER
...
当我在时http://localhost/admin/list
,会创建一个会话。我想使用 ajax 调用对 URL 执行一些操作https://localhost/api/update/page
。浏览器显示身份验证框 (http_basic),它不使用管理会话。
我的问题是:如果管理员会话存在,如何告诉 API,否则使用它来显示身份验证框?