mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 05:07:41 +00:00
GUACAMOLE-1149: Merge correct regression in TOTP support if user accounts are not automatically created.
This commit is contained in:
@@ -133,7 +133,8 @@ public class JDBCAuthenticationProviderService implements AuthenticationProvider
|
|||||||
|
|
||||||
// If auto account creation is enabled, add user to DB.
|
// If auto account creation is enabled, add user to DB.
|
||||||
if (environment.autoCreateAbsentAccounts()) {
|
if (environment.autoCreateAbsentAccounts()) {
|
||||||
userService.createObject(new PrivilegedModeledAuthenticatedUser(user.getCurrentUser()), user);
|
ModeledUser createdUser = userService.createObject(new PrivilegedModeledAuthenticatedUser(user.getCurrentUser()), user);
|
||||||
|
user.setModel(createdUser.getModel());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -260,7 +260,19 @@ public class UserService extends ModeledDirectoryObjectService<ModeledUser, User
|
|||||||
ModeledUser object, UserModel model) throws GuacamoleException {
|
ModeledUser object, UserModel model) throws GuacamoleException {
|
||||||
|
|
||||||
super.beforeUpdate(user, object, model);
|
super.beforeUpdate(user, object, model);
|
||||||
|
|
||||||
|
// Refuse to update if the user is a skeleton and does not actually
|
||||||
|
// exist in the database (this will happen if the user is authenticated
|
||||||
|
// via a non-database authentication provider)
|
||||||
|
if (object.isSkeleton()) {
|
||||||
|
logger.info("Data cannot be stored for user \"{}\" as they do not "
|
||||||
|
+ "have an account within the database. If this is "
|
||||||
|
+ "unexpected, consider allowing automatic creation of "
|
||||||
|
+ "user accounts.", object.getIdentifier());
|
||||||
|
throw new GuacamoleUnsupportedException("User does not exist "
|
||||||
|
+ "within the database and cannot be updated.");
|
||||||
|
}
|
||||||
|
|
||||||
// Username must not be blank
|
// Username must not be blank
|
||||||
if (model.getIdentifier() == null || model.getIdentifier().trim().isEmpty())
|
if (model.getIdentifier() == null || model.getIdentifier().trim().isEmpty())
|
||||||
throw new GuacamoleClientException("The username must not be blank.");
|
throw new GuacamoleClientException("The username must not be blank.");
|
||||||
|
Reference in New Issue
Block a user