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 (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 {
|
||||
|
||||
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
|
||||
if (model.getIdentifier() == null || model.getIdentifier().trim().isEmpty())
|
||||
throw new GuacamoleClientException("The username must not be blank.");
|
||||
|
Reference in New Issue
Block a user