default required actions in model

This commit is contained in:
Bill Burke 2015-06-11 15:18:09 -04:00
parent 3f62cd9271
commit c52d16da6d
8 changed files with 33 additions and 14 deletions

View file

@ -28,8 +28,8 @@ public class UserFederationManager implements UserProvider {
}
@Override
public UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles) {
UserModel user = session.userStorage().addUser(realm, id, username.toLowerCase(), addDefaultRoles);
public UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions) {
UserModel user = session.userStorage().addUser(realm, id, username.toLowerCase(), addDefaultRoles, addDefaultRequiredActions);
return registerWithFederation(realm, user);
}

View file

@ -13,7 +13,7 @@ import java.util.Set;
public interface UserProvider extends Provider {
// Note: The reason there are so many query methods here is for layering a cache on top of an persistent KeycloakSession
UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles);
UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions);
UserModel addUser(RealmModel realm, String username);
boolean removeUser(RealmModel realm, UserModel user);

View file

@ -796,7 +796,7 @@ public class RepresentationToModel {
convertDeprecatedSocialProviders(userRep);
// Import users just to user storage. Don't federate
UserModel user = session.userStorage().addUser(newRealm, userRep.getId(), userRep.getUsername(), false);
UserModel user = session.userStorage().addUser(newRealm, userRep.getId(), userRep.getUsername(), false, false);
user.setEnabled(userRep.isEnabled());
user.setEmail(userRep.getEmail());
user.setEmailVerified(userRep.isEmailVerified());

View file

@ -266,7 +266,7 @@ public class FileUserProvider implements UserProvider {
}
@Override
public UserAdapter addUser(RealmModel realm, String id, String username, boolean addDefaultRoles) {
public UserAdapter addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions) {
if (inMemoryModel.hasUserWithUsername(realm.getId(), username.toLowerCase()))
throw new ModelDuplicateException("User with username " + username + " already exists in realm.");
@ -284,6 +284,13 @@ public class FileUserProvider implements UserProvider {
}
}
if (addDefaultRequiredActions) {
for (String r : realm.getDefaultRequiredActions()) {
userModel.addRequiredAction(r);
}
}
return userModel;
}
@ -358,7 +365,7 @@ public class FileUserProvider implements UserProvider {
@Override
public UserModel addUser(RealmModel realm, String username) {
return this.addUser(realm, KeycloakModelUtils.generateId(), username.toLowerCase(), true);
return this.addUser(realm, KeycloakModelUtils.generateId(), username.toLowerCase(), true, true);
}
@Override

View file

@ -250,8 +250,8 @@ public class DefaultCacheUserProvider implements CacheUserProvider {
}
@Override
public UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles) {
return getDelegate().addUser(realm, id, username, addDefaultRoles);
public UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions) {
return getDelegate().addUser(realm, id, username, addDefaultRoles, addDefaultRequiredActions);
}
@Override

View file

@ -119,8 +119,8 @@ public class NoCacheUserProvider implements CacheUserProvider {
}
@Override
public UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles) {
return getDelegate().addUser(realm, id, username, addDefaultRoles);
public UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions) {
return getDelegate().addUser(realm, id, username, addDefaultRoles, addDefaultRequiredActions);
}
@Override

View file

@ -44,7 +44,7 @@ public class JpaUserProvider implements UserProvider {
}
@Override
public UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles) {
public UserModel addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions) {
if (id == null) {
id = KeycloakModelUtils.generateId();
}
@ -68,13 +68,18 @@ public class JpaUserProvider implements UserProvider {
}
}
}
if (addDefaultRequiredActions) {
for (String r : realm.getDefaultRequiredActions()) {
userModel.addRequiredAction(r);
}
}
return userModel;
}
@Override
public UserModel addUser(RealmModel realm, String username) {
return addUser(realm, KeycloakModelUtils.generateId(), username.toLowerCase(), true);
return addUser(realm, KeycloakModelUtils.generateId(), username.toLowerCase(), true, true);
}
@Override

View file

@ -242,7 +242,7 @@ public class MongoUserProvider implements UserProvider {
}
@Override
public UserAdapter addUser(RealmModel realm, String id, String username, boolean addDefaultRoles) {
public UserAdapter addUser(RealmModel realm, String id, String username, boolean addDefaultRoles, boolean addDefaultRequiredActions) {
UserAdapter userModel = addUserEntity(realm, id, username.toLowerCase());
if (addDefaultRoles) {
@ -257,6 +257,13 @@ public class MongoUserProvider implements UserProvider {
}
}
if (addDefaultRequiredActions) {
for (String r : realm.getDefaultRequiredActions()) {
userModel.addRequiredAction(r);
}
}
return userModel;
}
@ -327,7 +334,7 @@ public class MongoUserProvider implements UserProvider {
@Override
public UserModel addUser(RealmModel realm, String username) {
return this.addUser(realm, null, username, true);
return this.addUser(realm, null, username, true, true);
}
@Override