symfony - Symfony:限制身份验证器的会话
问题描述
我有form_login
身份验证器和我的自定义身份验证器。当第二个身份验证器 symfony 的身份验证句柄创建新会话并在每个请求上执行此操作时。如果我在 security.yaml 中写入,stateless: true
则不form_login
会对用户进行身份验证,因为会话未使用。如何仅为第一个身份验证者存储会话?
安全.yaml:
security:
enable_authenticator_manager: true
encoders:
App\Entity\User:
algorithm: auto
providers:
app_user_provider:
entity:
class: App\Entity\User
property: username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
lazy: true
provider: app_user_provider
form_login:
login_path: app_login
check_path: app_login
default_target_path: /
custom_authenticators:
- App\Security\TokenAuthenticator
entry_point: form_login
logout:
path: app_logout
我需要使用 session forform_login
和 take away for TokenAuthenticator
,因为请求可以通过不同的方式向端点发出。自定义身份验证器是使用本文制作的。
解决方案
推荐阅读
- c - 声明为 const,但定义为非常量,C
- php - WooCommerce 更新购物车使数字箭头消失
- javascript - 如何在 javascript 中选择不同的时区?
- r - 每周权重基于在 R 中使用 dplyr 的类别
- gitlab - 如何获取 Gitlab 运行器主机,或更改它?
- node.js - 如何在 Nodejs Typescript 中为模块添加快捷方式
- php - 如何在树枝模板中运行 php
- excel - 如何使用 Excel VBA 引用工作表上的标签
- ios - 即使在发布事件后,Combine 中的 timeout 运算符也会超时
- scala - 将 flatMapGroupsWithState 与 forEachBatch 一起使用