我正在使用 LDAP 对我的用户进行身份验证(回退到 FOS 用户捆绑包)。一切正常,我可以登录。
然而,这产生了一个“新”问题。我希望控制谁可以使用 FOS 登录应用程序,但使用 LDAP 控制他们的密码。
我使用 ROLES 进行了尝试:
- { path: ^/, role: ROLE_PGM_USER }
但这不是正确的地方,因为此时用户已经登录。
有没有办法将 fr3d 配置为也检查 fos “启用”字段,然后在不允许他们登录时显示自定义消息?
我正在使用 LDAP 对我的用户进行身份验证(回退到 FOS 用户捆绑包)。一切正常,我可以登录。
然而,这产生了一个“新”问题。我希望控制谁可以使用 FOS 登录应用程序,但使用 LDAP 控制他们的密码。
我使用 ROLES 进行了尝试:
- { path: ^/, role: ROLE_PGM_USER }
但这不是正确的地方,因为此时用户已经登录。
有没有办法将 fr3d 配置为也检查 fos “启用”字段,然后在不允许他们登录时显示自定义消息?
找到了。
使用此处的说明覆盖 LdapManager ( https://github.com/Maks3w/FR3DLdapBundle/blob/master/Resources/doc/cookbook/override_ldap-manager.md )。
然后像这样更改绑定函数:
/**
* {@inheritDoc}
*/
public function bind(LdapUserInterface $user, $password)
{
if (!$user->hasRole('ROLE_PGM_USER')) {
return false;
}
return $this->connection->bind($user->getDn(), $password);
}
这样可以防止没有“ROLE_PGM_USER”的用户登录。