【发布时间】:2013-02-20 19:19:25
【问题描述】:
我在网上为我的配置寻找解决方案,但找不到满足我需求的解决方案。 到目前为止,我已经为此工作了整整 3 天,但我无法使其正常工作,我确信有几件事我不明白。
我正在分支 2.1 上开发我的 symfony 应用程序。
为了简短。我有一个要用于身份验证的网络服务。
这是我要实现的流程:
- 用户提交凭据
- 这些凭据(需要用户名和密码)被发送到我的网络服务
- 如果用户名/密码正确,Web 服务会给出一个数组,其中包含用户名、角色和其他一些内容,但密码除外。 (如果凭证不正确,将返回一个包含一个字段的数组)
- 只要网络服务提供“大”数组,我希望用户被视为已通过身份验证。
- 在返回的角色函数中,我希望 Symfony 安全组件给用户相应的授权。
- 我希望避免为浏览的每个页面调用网络服务。
我不知道是否可以使用 Symfony 来实现这一点,当然这个工作流程似乎不是更安全,但我看不到使用这个网络服务的另一种方式。
最后,我不需要 UserProvider,因为我的身份验证是在远程服务上进行的。但显然,Symfony 组件需要一个用户提供者(不管它的类型)。
提前谢谢你
编辑:为了更简单,是否可以在 UserProvider 类(实现 UserProviderInterface)的 loadUserByUsername() 函数中传递变量 $username 以外的东西?除了用户名之外,我还需要让用户通过才能检索用户对象。
【问题讨论】:
标签: security authentication symfony symfony-2.1