提示

标准的Symfony分欧宝娱乐app下载地址布分离(如安全配置到一个单独的文件。应用程序/配置/ security.yml)。如果你没有一个单独的安全文件,你可以把配置直接进入你的主要配置文件(如应用程序/配置/ config.yml)。

这个配置的最终结果是一个全功能的安全系统看起来像下面的:

  • 有两个用户系统(瑞安管理);
  • 通过基本的HTTP身份验证提示用户验证自己;
  • 任何URL匹配/管理/ *是安全的,只有吗管理用户可以访问它;
  • 所有url匹配/管理/ *所有用户都可以访问(和用户永远不会提示登录)。

让我们简要看安全是如何工作的以及如何配置的每个部分。

/管理/ foo然而,这个过程表现不同。这是由于access_control配置节说,任何匹配正则表达式模式的URL^ /管理(即。/管理或任何匹配/管理/ *)要求ROLE_ADMIN的角色。角色的基础最授权:用户可以访问/管理/ foo只有它ROLE_ADMIN的角色。

像以前一样,当用户最初发出请求时,防火墙并不要求任何证件。然而,只要访问控制层否认用户访问(因为匿名用户没有ROLE_ADMIN防火墙的作用),跳进行动,提升者身份验证过程。身份验证过程取决于您所使用的身份验证机制。例如,如果您正在使用表单登录身份验证方法,用户将被重定向到登录页面。如果你使用HTTP身份验证,用户将会发送一个HTTP 401响应,用户看到的用户名和密码框。

用户现在有机会提交凭证回到应用程序。如果证书是有效的,原始请求可以重试。

在这个例子中,用户瑞安成功验证防火墙。但自瑞安没有ROLE_ADMIN角色,他仍然拒绝/管理/ foo。最终,这意味着用户将看到一些消息,表明访问被拒绝。

提示

Symfo欧宝娱乐app下载地址ny否认用户访问时,用户将看到一个错误屏幕和接收HTTP状态码(403被禁止的)。您可以定制拒绝访问错误屏幕遵循的方向<一个href=”https://欧宝娱乐app下载地址www.oldmanjams.com/做c/2.1/cookbook/controller/error_pages.html" class="reference internal">错误页面食谱进入自定义403错误页面。