Make it explicit that a DN can be used for ldap:check-user

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
pull/30938/head
Côme Chilliet 4 years ago
parent a6ad06f940
commit 44680b5c3b
No known key found for this signature in database
GPG Key ID: A3E2F658B28C760A
  1. 4
      apps/user_ldap/lib/Access.php
  2. 10
      apps/user_ldap/lib/Command/CheckUser.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
*/

@ -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) {

Loading…
Cancel
Save