PHP symfony 2.x:如何通过提供用户名和密码对Web服务进行身份验证?

时间:2014-04-04 12:59:48

标签: php web-services security symfony authentication

我对symfony 2.x有一个很大的问题。我需要通过将用户名和密码传递给此Web服务来对Web服务进行身份验证。

安全层和UserProvider的标准方式和任何其他实现我已经看到通过仅将用户名传递给存储库(在我的情况下是web服务)从用户存储库中检索用户。 Symfony假定存储库返回用户提供的用户名,并且该用户包含密码(已加密)。然后,通过将登录表单中的密码与用户对象返回的密码(或者您想在此处验证的任何内容)进行比较来完成用户的身份验证。根据此验证的结果,授予或拒绝访问。

我需要 - 我认为这是一个常见的要求 - 是将用户名和密码传递给存储库(Web服务),让存储库决定此凭据是否属于有效用户。这意味着每当symfony从存储库接收用户对象时,用户都会被验证,并且当用户存储库返回任何其他内容时,验证将失败(最好是错误对象)。

但是,就symfony的安全层非常复杂而且完整的身份验证过程依赖于接口方法loadUserByUsername,我真的不知道如何在不替换整个安全性的情况下实现符合我要求的自己的UserProvider具有实现某种loadUserByUsernameAndPassword的东西的图层。

是否有人为此任务提供解决方案或分步教程。

0 个答案:

没有答案