. */ namespace SP\Providers\Auth\Ldap; /** * Interface LdapInterface * * @package SP\Providers\Auth\Ldap */ interface LdapInterface { const PAGE_SIZE = 500; /** * Obtener el filtro para buscar el usuario * * @param string $userLogin * * @return string */ public function getUserDnFilter(string $userLogin): string; /** * Return the filter to check the group membership from user's attributes * * @return string */ public function getGroupMembershipIndirectFilter(): string; /** * Return the filter to check the group membership from group's attributes * * @param string|null $userDn * * @return string */ public function getGroupMembershipDirectFilter(?string $userDn = null): string; /** * Buscar al usuario en un grupo. * * @param string $userDn * @param string $userLogin * @param array $groupsDn * * @return bool */ public function isUserInGroup(string $userDn, string $userLogin, array $groupsDn): bool; /** * Devolver el filtro para objetos del tipo grupo * * @return string */ public function getGroupObjectFilter(): string; /** * Connects and binds to an LDAP server * * @throws LdapException */ public function connect(); /** * @param string|null $bindDn * @param string|null $bindPass * * @return bool */ public function bind(?string $bindDn = null, ?string $bindPass = null): bool; /** * @return LdapActions */ public function getLdapActions(): LdapActions; /** * @return string */ public function getServer(): string; }