我正在尝试使用以下内容:
1)form_login_ldap仅用于用户身份验证
2)用于从MySQL数据库中检索用户角色的自定义UserProvider
一切似乎都运行良好:我能够登录,角色被使用等。
一旦我更改了数据库中的角色,isEqualTo()
就会启动 - 用户将被重定向到登录页面。在那里浏览器挂起无限循环。使用tcpdump后,我意识到form_login_ldap正在尝试在没有密码的情况下对用户进行身份验证。
我认为我一般都不清楚在这种情况下如何处理密码。我的UserProvider在查询MySQL时无法检索(加密)密码,并且使用LDAP对用户进行了身份验证。 如果我的UserProvider的“refreshUser函数”返回具有新角色的新用户对象,则密码似乎丢失。 如果在UserProvider中我只是修改了用户的角色数组,那么Web应用程序无法识别并且旧角色适用(我想会话必须更新?)。
form_login_ldap和我的UserProvider应该如何互动?如何确保“refreshUser”密码仍然可用?
我的总体情况是什么?