Symfony2自定义登录修改默认系统


Symfony2 custom login modifying the default system

我是symfony2的新手,我已经读了这本书的大部分内容,这一切都很有意义,我真的很喜欢这个框架。

但是,我正在努力实现以下目标:

我有一个登录系统,这个系统通过CURL在另一个网站上进行身份验证,所以用户不会在我的数据库中,成功登录取决于我从外部网站得到的响应。

系统流程为:

用户输入凭据。

我控制了外部网站。

如果外部站点接受凭据,我会将它们的凭据存储在数据库中。

我将它们记录在中

因此,我希望symfony2在自动重定向等方面提供一切,我只想手动设置登录会话。

我该如何配置我的security.yml?我该如何设置他们为实现这一点而设置的"登录"会话?

我有一个用户实体,里面有他们在教程中推荐的所有方法。

首先,您应该了解symfony 中身份验证和授权之间的区别

然后,您需要创建一个自定义身份验证提供程序,该提供程序将负责查找用户,并且您应该在这里向其他服务发出curl请求。

之后,您必须处理授权,这是负责查找用户是否有权限执行/访问某些内容的部分,这是您设置ACL的地方。

如果您不是将用户存储在数据库或内存中,而是为服务获取用户,那么您还应该实现一个自定义用户提供程序,该程序将从服务中获取用户。