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