diff --git a/library/Icinga/Authentication/Backend/DbUserBackend.php b/library/Icinga/Authentication/Backend/DbUserBackend.php index a89a07c81..239ceb258 100644 --- a/library/Icinga/Authentication/Backend/DbUserBackend.php +++ b/library/Icinga/Authentication/Backend/DbUserBackend.php @@ -126,4 +126,21 @@ class DbUserBackend extends UserBackend return ($row !== false) ? $row->count : 0; } + + /** + * Return the names of all available users + * + * @return array + */ + public function listUsers() + { + $query = $this->conn->select()->from('account', array('username')); + + $users = array(); + foreach ($query->fetchAll() as $row) { + $users[] = $row->username; + } + + return $users; + } } diff --git a/library/Icinga/Authentication/Backend/LdapUserBackend.php b/library/Icinga/Authentication/Backend/LdapUserBackend.php index 23a79781d..8e5307fc8 100644 --- a/library/Icinga/Authentication/Backend/LdapUserBackend.php +++ b/library/Icinga/Authentication/Backend/LdapUserBackend.php @@ -159,5 +159,22 @@ class LdapUserBackend extends UserBackend ) ); } + + /** + * Return the names of all available users + * + * @return array + */ + public function listUsers() + { + $query = $this->conn->select()->from($this->userClass, array($this->userNameAttribute)); + + $users = array(); + foreach ($query->fetchAll() as $row) { + $users[] = $row->{$this->userNameAttribute}; + } + + return $users; + } }