1

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

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

4

2 回答 2

2

您需要使用自定义身份验证提供程序来针对您的 Web 服务进行身份验证。在这篇博文中解释得很清楚

于 2012-09-14T05:37:23.687 回答
2

您可以创建一个用户提供程序,并且loadUserByName您可以调用 Web 服务。如果成功,则返回UserInterface带有空盐字符串形式的密码和服务返回的角色的新对象。还将 中的编码器设置UserInterface为纯文本security.ymlform_login然后在防火墙的 auth provider 中设置新创建的用户提供者。

于 2012-09-14T06:15:22.337 回答