入口点:帮助用户开始认证

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 5.3,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

入口点:帮助用户开始认证

当一个未经身份验证的用户试图访问一个受保护的页面,Symfony给他们一个合适的回应,让他们开始认证(如重定向到一个登录表单或欧宝娱乐app下载地址显示401未经授权的HTTP响应api)。

然而有时,一个防火墙有多种方式进行身份验证(例如登录形式和社会登录)。在这些情况下,应配置认证入口点

您可以配置使用entry_point设置:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#配置/包/ security.yaml安全:enable_authenticator_manager:真正的#……防火墙:主要:#允许验证使用一种或一个自定义的身份验证form_login:~custom_authenticators:- - - - - -App \安全\ SocialConnectAuthenticator#配置表单身份验证作为未经身份验证的用户的入口点entry_point:form_login

请注意

您还可以创建自己的认证入口点通过创建一个实现类AuthenticationEntryPointInterface。你可以设置entry_point(如服务id。entry_point: App \安全\ CustomEntryPoint)

多个身份验证器单独的入口点

然而,有些用例,您的身份验证器,保护您的应用程序的不同部分。例如,您有一个登录表单,保护外部各方所使用的主要网站和API端点保护API密钥。

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

  • YAML
  • XML
  • PHP
1 2 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}
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。
欧宝娱乐app下载地址Symfony 5.3支持通过JoliCode