Php fr3d LdapBundle-阻止登录

Php fr3d LdapBundle-阻止登录,php,symfony-2.1,fr3dldapbundle,Php,Symfony 2.1,Fr3dldapbundle,我使用LDAP对我的用户进行身份验证(使用FOS用户包的回退)。一切正常,我可以登录 然而,这造成了一个“新”问题。我希望控制谁可以使用FOS登录应用程序,但使用LDAP控制其密码 我尝试使用角色: - { path: ^/, role: ROLE_PGM_USER } 但这不是正确的位置,因为用户此时已经登录 是否有办法将fr3d配置为同时检查fos“已启用”字段,然后在不允许其登录时显示自定义消息?找到了它 使用此处的说明覆盖LdapManager() 然后更改bind函数,如下所示: /

我使用LDAP对我的用户进行身份验证(使用FOS用户包的回退)。一切正常,我可以登录

然而,这造成了一个“新”问题。我希望控制谁可以使用FOS登录应用程序,但使用LDAP控制其密码

我尝试使用角色:

- { path: ^/, role: ROLE_PGM_USER }
但这不是正确的位置,因为用户此时已经登录

是否有办法将fr3d配置为同时检查fos“已启用”字段,然后在不允许其登录时显示自定义消息?

找到了它

使用此处的说明覆盖LdapManager()

然后更改bind函数,如下所示:

/**
 * {@inheritDoc}
 */
public function bind(LdapUserInterface $user, $password)
{
    if (!$user->hasRole('ROLE_PGM_USER')) {
        return false;
    }
    return $this->connection->bind($user->getDn(), $password);
}
这样,没有“ROLE\u PGM\u USER”的用户就无法登录。

找到了它

使用此处的说明覆盖LdapManager()

然后更改bind函数,如下所示:

/**
 * {@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”的用户就无法登录