Skip to content

Commit d707dd9

Browse files
danxuliubackportbot[bot]
authored andcommitted
fix: Throw specific LoginException when the user is disabled
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
1 parent efdfbd3 commit d707dd9

File tree

5 files changed

+15
-3
lines changed

5 files changed

+15
-3
lines changed

lib/composer/composer/autoload_classmap.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2002,6 +2002,7 @@
20022002
'OC\\User\\Backend' => $baseDir . '/lib/private/User/Backend.php',
20032003
'OC\\User\\BackgroundJobs\\CleanupDeletedUsers' => $baseDir . '/lib/private/User/BackgroundJobs/CleanupDeletedUsers.php',
20042004
'OC\\User\\Database' => $baseDir . '/lib/private/User/Database.php',
2005+
'OC\\User\\DisabledUserException' => $baseDir . '/lib/private/User/DisabledUserException.php',
20052006
'OC\\User\\DisplayNameCache' => $baseDir . '/lib/private/User/DisplayNameCache.php',
20062007
'OC\\User\\LazyUser' => $baseDir . '/lib/private/User/LazyUser.php',
20072008
'OC\\User\\Listeners\\BeforeUserDeletedListener' => $baseDir . '/lib/private/User/Listeners/BeforeUserDeletedListener.php',

lib/composer/composer/autoload_static.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2035,6 +2035,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
20352035
'OC\\User\\Backend' => __DIR__ . '/../../..' . '/lib/private/User/Backend.php',
20362036
'OC\\User\\BackgroundJobs\\CleanupDeletedUsers' => __DIR__ . '/../../..' . '/lib/private/User/BackgroundJobs/CleanupDeletedUsers.php',
20372037
'OC\\User\\Database' => __DIR__ . '/../../..' . '/lib/private/User/Database.php',
2038+
'OC\\User\\DisabledUserException' => __DIR__ . '/../../..' . '/lib/private/User/DisabledUserException.php',
20382039
'OC\\User\\DisplayNameCache' => __DIR__ . '/../../..' . '/lib/private/User/DisplayNameCache.php',
20392040
'OC\\User\\LazyUser' => __DIR__ . '/../../..' . '/lib/private/User/LazyUser.php',
20402041
'OC\\User\\Listeners\\BeforeUserDeletedListener' => __DIR__ . '/../../..' . '/lib/private/User/Listeners/BeforeUserDeletedListener.php',
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
/**
4+
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
5+
* SPDX-License-Identifier: AGPL-3.0-only
6+
*/
7+
namespace OC\User;
8+
9+
class DisabledUserException extends LoginException {
10+
}

lib/private/User/Session.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ public function completeLogin(IUser $user, array $loginDetails, $regenerateSessi
320320
// disabled users can not log in
321321
// injecting l10n does not work - there is a circular dependency between session and \OCP\L10N\IFactory
322322
$message = \OCP\Util::getL10N('lib')->t('Account disabled');
323-
throw new LoginException($message);
323+
throw new DisabledUserException($message);
324324
}
325325

326326
if ($regenerateSessionId) {

lib/private/legacy/OC_User.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* SPDX-License-Identifier: AGPL-3.0-only
77
*/
88
use OC\Authentication\Token\IProvider;
9-
use OC\User\LoginException;
9+
use OC\User\DisabledUserException;
1010
use OCP\Authentication\Exceptions\InvalidTokenException;
1111
use OCP\Authentication\Exceptions\WipeTokenException;
1212
use OCP\Authentication\Token\IToken;
@@ -157,7 +157,7 @@ public static function loginWithApache(\OCP\Authentication\IApacheBackend $backe
157157

158158
if ($userSession->getUser() && !$userSession->getUser()->isEnabled()) {
159159
$message = \OC::$server->getL10N('lib')->t('Account disabled');
160-
throw new LoginException($message);
160+
throw new DisabledUserException($message);
161161
}
162162
$userSession->setLoginName($uid);
163163
$request = OC::$server->getRequest();

0 commit comments

Comments
 (0)