Skip to content

Commit c15efda

Browse files
danxuliubackportbot[bot]
authored andcommitted
fix: Throw specific LoginException when the user is disabled
Signed-off-by: Daniel Calviño Sánchez <[email protected]>
1 parent e78b9f7 commit c15efda

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
@@ -2090,6 +2090,7 @@
20902090
'OC\\User\\Backend' => $baseDir . '/lib/private/User/Backend.php',
20912091
'OC\\User\\BackgroundJobs\\CleanupDeletedUsers' => $baseDir . '/lib/private/User/BackgroundJobs/CleanupDeletedUsers.php',
20922092
'OC\\User\\Database' => $baseDir . '/lib/private/User/Database.php',
2093+
'OC\\User\\DisabledUserException' => $baseDir . '/lib/private/User/DisabledUserException.php',
20932094
'OC\\User\\DisplayNameCache' => $baseDir . '/lib/private/User/DisplayNameCache.php',
20942095
'OC\\User\\LazyUser' => $baseDir . '/lib/private/User/LazyUser.php',
20952096
'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
@@ -2139,6 +2139,7 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
21392139
'OC\\User\\Backend' => __DIR__ . '/../../..' . '/lib/private/User/Backend.php',
21402140
'OC\\User\\BackgroundJobs\\CleanupDeletedUsers' => __DIR__ . '/../../..' . '/lib/private/User/BackgroundJobs/CleanupDeletedUsers.php',
21412141
'OC\\User\\Database' => __DIR__ . '/../../..' . '/lib/private/User/Database.php',
2142+
'OC\\User\\DisabledUserException' => __DIR__ . '/../../..' . '/lib/private/User/DisabledUserException.php',
21422143
'OC\\User\\DisplayNameCache' => __DIR__ . '/../../..' . '/lib/private/User/DisplayNameCache.php',
21432144
'OC\\User\\LazyUser' => __DIR__ . '/../../..' . '/lib/private/User/LazyUser.php',
21442145
'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
@@ -319,7 +319,7 @@ public function completeLogin(IUser $user, array $loginDetails, $regenerateSessi
319319
// disabled users can not log in
320320
// injecting l10n does not work - there is a circular dependency between session and \OCP\L10N\IFactory
321321
$message = \OCP\Util::getL10N('lib')->t('Account disabled');
322-
throw new LoginException($message);
322+
throw new DisabledUserException($message);
323323
}
324324

325325
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)