[Minor] Added check for user's referencing inexistant oles

This commit is contained in:
Robert von Burg 2014-08-22 22:28:33 +02:00
parent d2faed1d2e
commit bb949f38af
1 changed files with 13 additions and 0 deletions

View File

@ -189,6 +189,19 @@ public class XmlPersistenceHandler implements PersistenceHandler {
logger.info(MessageFormat.format("Read {0} Users", this.userMap.size())); //$NON-NLS-1$
logger.info(MessageFormat.format("Read {0} Roles", this.roleMap.size())); //$NON-NLS-1$
// validate referenced roles exist
for (User user : users) {
for (String roleName : user.getRoles()) {
// validate that role exists
if (getRole(roleName) == null) {
String msg = "Role {0} does not exist referenced by user {1}";
msg = MessageFormat.format(msg, roleName, user.getUsername()); //$NON-NLS-1$
throw new PrivilegeException(msg);
}
}
}
// validate we have a user with PrivilegeAdmin access
boolean privilegeAdminExists = false;
for (String username : this.userMap.keySet()) {