如今,我们常使用 API 去验证一个用户的身份 (例如开发一个 web 服务的时候)。该 API 密钥可以为每个请求提供服务,并且以查询字符串参数的形式或通过 HTTP 头部信息进行传递。API 密钥身份验证器我们应该通过预身份验证机制请求信息来对用户身份进行验证。SimplePreAuthenticatorInterface 接口能让您很容易的达到这个目的。
在 Symfony 里,你可以用 ACL模块 来检测用户的数据使用权限,即使这个模块显得有些过于强势。一个更简单的解决方法就是与顾客接触,利用他们的 Voter 来作为判定条件。Voters 也能用其他方式被用到,比如,用户 IP 黑名单就来自整个应用程序:How to Use Voters to Check User Permissions。看看 authorization 这一章可以对 voter 有更深刻的理解。
如果您是某种数据库的用户并需要一个登录表单,那么您应该考虑使用 FOSUserBundle,它可以帮助您建立您的 User 对象并提供了多路由和控制器用于常见任务,如登录,注册,忘记密码。本节中,您将构建一个传统的登录表单。当然,当用户登录时,您可以像数据库一样在任何地方加载用户信息。详见 B) Configuring how Users are Loaded。