私は説明する。私は 2 つのカーネルを持っています:AdminKernel
とApiKernel
.
api のセッションは、admin のセッションを使用します ( 内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にどのように伝えますか?それ以外の場合は認証ボックスを表示しますか?