使用预先认证的安全防火墙
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.4,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
使用预先认证的安全防火墙
包括Apache在内的一些web服务器已经提供了许多身份验证模块。这些模块通常设置一些环境变量,用于确定哪个用户正在访问您的应用程序。Symfony开箱即用,支持大多ob娱乐下载数身份验证机制。这些请求被称为前验证请求,因为用户在到达应用程序时已经过身份验证。
谨慎
用户模拟与预先验证的防火墙不兼容。原因是,模拟需要在服务器端维护身份验证状态,但是预身份验证信息(SSL_CLIENT_S_DN_Email
,REMOTE_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身份验证一样,您需要配置一个“用户提供程序”。看到前面的说明获取更多信息。