在Symfony2中进行身份验证,但无法读取密码

时间:2012-09-13 23:13:12

标签: symfony

我在Symfony工作几年后正在编写我的第一个Symfony2应用程序,并且无法转换我们的用户管理代码。似乎为了适应Symfony2的身份验证模型,我必须提供用户详细信息,包括其(加密)密码。我们通过Web服务进行身份验证,该服务使用用户名和密码并以确认和用户级别(用户,管理员等)进行响应,但它永远不会将真实密码发回给我们。

我想要做的是接受表单中的登录详细信息,确认它们是有效的,然后根据webservice的响应设置用户的角色。我从哪里开始?

2 个答案:

答案 0 :(得分:2)

您需要使用自定义身份验证提供程序对您的Web服务进行身份验证。在此博客post

中已经非常清楚地解释了这一点

答案 1 :(得分:2)

您可以创建一个用户提供商及其loadUserByName,您可以调用该网络服务。如果成功返回新的UserInterface对象,其中包含空盐字符串形式的密码以及服务返回的角色。同时在UserInterface中将security.yml的编码器设置为明文。然后在防火墙的form_login身份验证提供程序中设置新创建的用户提供程序。