使用预先认证的安全防火墙

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

使用预先认证的安全防火墙

包括Apache在内的一些web服务器已经提供了许多身份验证模块。这些模块通常设置一些环境变量,用于确定哪个用户正在访问您的应用程序。Symfony开箱即用,支持大多ob娱乐下载数身份验证机制。这些请求被称为前验证请求,因为用户在到达应用程序时已经过身份验证。

谨慎

用户模拟与预先验证的防火墙不兼容。原因是,模拟需要在服务器端维护身份验证状态,但是预身份验证信息(SSL_CLIENT_S_DN_EmailREMOTE_USER或其他)在每个请求中发送。

X.509客户端证书认证

当使用客户端证书时,您的web服务器将自己完成所有的身份验证过程。例如,对于Apache,您将使用SSLVerifyClient要求指令。

在安全配置中为特定防火墙启用x509身份验证:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7 8 9
# app / config / security.yml安全:#……防火墙:secured_area:模式:^ /x509:供应商:your_user_provider

缺省情况下,防火墙提供SSL_CLIENT_S_DN_Email变量设置为用户提供程序,并设置SSL_CLIENT_S_DN作为证书PreAuthenticatedToken.属性可以覆盖这些参数用户凭证分别在x509防火墙配置中的关键字。

请注意

身份验证提供者将只通知用户提供者发出请求的用户名。类引用的“用户提供程序”将需要创建(或使用)提供者配置参数(your_user_provider配置例中)。这个提供程序将把用户名转换为您选择的User对象。有关创建或配置用户提供程序的更多信息,请参见:

基于REMOTE_USER的认证

有很多认证模块,比如auth_kerb为Apache提供用户名REMOTE_USER环境变量。应用程序可以信任这个变量,因为身份验证发生在请求到达它之前。

来配置Symfonyob娱乐下载REMOTE_USER环境变量,只需在安全配置中启用相应的防火墙:

  • YAML
  • XML
  • PHP
1 2 3 4 5 6 7
# app / config / security.yml安全:防火墙:secured_area:模式:^ /remote_user:供应商:your_user_provider

防火墙随后将提供REMOTE_USER您的用户提供程序的环境变量。属性可以更改所使用的变量名用户输入remote_user防火墙的配置。

请注意

与X509身份验证一样,您需要配置一个“用户提供程序”。看到前面的说明获取更多信息。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。