diff options
author | Côme Chilliet <come.chilliet@nextcloud.com> | 2022-02-07 12:32:18 +0300 |
---|---|---|
committer | Côme Chilliet <come.chilliet@nextcloud.com> | 2022-02-17 12:00:25 +0300 |
commit | 44680b5c3b5b441192a36cc5fada5e23fe7de571 (patch) | |
tree | 3f6c1fdbe3c50bf17a4df41e73b2dce029887a66 /apps/user_ldap | |
parent | a6ad06f940ce7d79a72262e67860cf237593bb09 (diff) |
Make it explicit that a DN can be used for ldap:check-user
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'apps/user_ldap')
-rw-r--r-- | apps/user_ldap/lib/Access.php | 4 | ||||
-rw-r--r-- | apps/user_ldap/lib/Command/CheckUser.php | 10 |
2 files changed, 10 insertions, 4 deletions
diff --git a/apps/user_ldap/lib/Access.php b/apps/user_ldap/lib/Access.php index ed5e5bff9ce..bda495bc9a8 100644 --- a/apps/user_ldap/lib/Access.php +++ b/apps/user_ldap/lib/Access.php @@ -488,7 +488,7 @@ class Access extends LDAPUtility { /** * returns the internal Nextcloud name for the given LDAP DN of the user, false on DN outside of search DN or failure * - * @param string $dn the dn of the user object + * @param string $fdn the dn of the user object * @param string $ldapName optional, the display name of the object * @return string|false with with the name to use in Nextcloud * @throws \Exception @@ -1770,7 +1770,7 @@ class Access extends LDAPUtility { /** * @param string $dn * @param bool $isUser - * @param null $ldapRecord + * @param array|null $ldapRecord * @return false|string * @throws ServerNotAvailableException */ diff --git a/apps/user_ldap/lib/Command/CheckUser.php b/apps/user_ldap/lib/Command/CheckUser.php index 7476afb1bfe..6ccfc9c19ea 100644 --- a/apps/user_ldap/lib/Command/CheckUser.php +++ b/apps/user_ldap/lib/Command/CheckUser.php @@ -64,7 +64,7 @@ class CheckUser extends Command { ->addArgument( 'ocName', InputArgument::REQUIRED, - 'the user name as used in Nextcloud' + 'the user name as used in Nextcloud, or the LDAP DN' ) ->addOption( 'force', @@ -83,8 +83,14 @@ class CheckUser extends Command { protected function execute(InputInterface $input, OutputInterface $output): int { try { - $uid = $input->getArgument('ocName'); $this->assertAllowed($input->getOption('force')); + $uid = $input->getArgument('ocName'); + if ($this->backend->getLDAPAccess($uid)->stringResemblesDN($uid)) { + $username = $this->backend->dn2UserName($uid); + if ($username !== false) { + $uid = $username; + } + } $wasMapped = $this->userWasMapped($uid); $exists = $this->backend->userExistsOnLDAP($uid, true); if ($exists === true) { |