[英]Symfony2: Could I use 2 mechanism authentication for one firewall?
我解釋。 我有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管理會話是否存在,使用它否則顯示身份驗證框?
從Symfony2文檔中:
http://symfony.com/doc/current/book/security.html
- 多個防火牆不共享安全上下文如果您使用多個防火牆,並且針對一個防火牆進行身份驗證,則不會自動針對任何其他防火牆進行身份驗證。 不同的防火牆就像不同的安全系統。 為此,您必須為不同的防火牆明確指定相同的防火牆上下文。 但是通常對於大多數應用程序而言,擁有一個主防火牆就足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.