我正在使用Symfony框架v 2.4.2更新一个现有的网站,该网站执行双重身份验证以登录用户:
另外,在使用FOSUserBundle时,好像必须将密码存储在DB中。
请注意第2点:用户必须可以自由更改他们在网站外部(即Active Directory)的LDAP密码,然后使用新的凭据登录 -而无需更新网站的用户数据库。
欢迎任何解决方案,我对FOSUserBundle和FR3DLdapBundle都不是很满意。
- 首先,它通过PHP的
ldap_bind()
函数检查用户名和密码是否属于有效的Active Directory用户; - 如果是,则只检查用户名是否在DB表中存在(DB中没有存储密码);
- 如果在DB表中找到了用户名,则从DB加载用户配置文件,并对用户进行身份验证。
ldap
和db
),但似乎LDAP凭据被完全忽略:即使ldap_bind()
失败(这是第1点和第2点的确切相反), 用户也可以使用存储在DB中的凭据登录。另外,在使用FOSUserBundle时,好像必须将密码存储在DB中。
请注意第2点:用户必须可以自由更改他们在网站外部(即Active Directory)的LDAP密码,然后使用新的凭据登录 -而无需更新网站的用户数据库。
欢迎任何解决方案,我对FOSUserBundle和FR3DLdapBundle都不是很满意。