入口点:帮助用户开始身份验证

编辑本页

入口点:帮助用户开始身份验证

当未经身份验证的用户试图访问受保护的页面时,Symfony会为他们提供适当的响应,让他们开始身份验证(例如,重定向到登录表单或ob娱乐下载为api显示401未授权的HTTP响应)。

然而,有时一个防火墙有多种身份验证方式(例如表单登录和社交登录)。在这些情况下,需要配置认证入口点

属性对其进行配置entry_point设置:

  • YAML
  • XML
  • PHP
12 3 4 5 6 7 8 9 10 11 12 13
#配置/包/ security.yaml安全:#……防火墙:主要:#允许使用表单或自定义验证器进行身份验证form_login:custom_authenticators:-App \安全\ SocialConnectAuthenticator#配置表单认证为未认证用户的入口点entry_point:form_login

请注意

您还可以通过创建实现的类来创建自己的身份验证入口点AuthenticationEntryPointInterface.然后你可以设置entry_point到服务id(例如:entry_point: App \安全\ CustomEntryPoint

具有独立入口点的多个身份验证器

但是,在某些用例中,您可以使用身份验证器来保护应用程序的不同部分。例如,您有一个登录表单,它保护由API密钥保护的外部方使用的主网站和API端点。

由于每个防火墙只能配置一个入口点,解决方案是将配置拆分为两个独立的防火墙:

  • YAML
  • XML
  • PHP
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16
#配置/包/ security.yaml安全:#……防火墙:api:模式:^ / api /custom_authenticators:-App \安全\ ApiTokenAuthenticator主要:懒惰:真正的form_login:access_control:-路径:“^ /登录”角色:PUBLIC_ACCESS-路径:“^ / api”角色:ROLE_API_USER-路径:' ^ /角色:ROLE_USER
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。
ob娱乐下载Symfony 6.2支持通过苏禄人
ob娱乐下载Symfony 6.2支持通过Les-Tilleuls.coop