我假装要做的是在ddbb配置的Guard身份验证系统中包含内部用户的LDAP . 我已经构建了我的Guard身份验证系统,并且由于https://knpuniversity.com/screencast/symfony-security而工作得非常好 .
但我还需要尝试先通过LDAP模式登录 . 更确切地说,功能必须如下:
用户尝试登录使用MySQL配置的数据库的Guard System Authentication,并且:
1-检查表中的用户是否存在来自MySQL的用户 . 如果存在,我们转到步骤2.如果不存在,则返回false以使用错误消息进行身份验证 .
2 - 检查用户是否存在于LDAP模式 . 如果存在,请转到步骤3.如果不存在,请转到步骤4 .
3 - 尝试使用用户名和密码通过LDAP登录 . 如果验证正常,则登录 . 如果无法通过LDAP匹配密码,则返回false以进行验证并显示错误消息 .
4 - 检查LDAP选项后,我们将尝试通过Guard Authentication System登录 . 如果验证没问题,则用户已登录 . 如果无法通过Guard与MySQL用户表匹配密码,则返回false以进行身份验证并显示错误消息 .
1 回答
在LoginFormAuthenticator文件中,我终于可以管理我想要的这种行为,如下所示 .
我希望任何人都能享受这个答案 .