mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-08 20:12:23 +00:00
"migrate" SERVER object also after receiving initial load, ensuring that a newly created server group is used for the SERVER object's group ownership
This commit is contained in:
1 parent
3a2a1c947a
commit
d19bd2a7f3
5 files changed
+18
-7
No files matched your search
-2
@@ -161,7 +161,6 @@ public class LocalServerManagementPanel extends SimplePanel {
|
||||
final boolean hasUserOwner = ownership != null && ownership.getUserOwner() != null;
|
||||
groupOwnerInfo.setText(hasGroupOwner ? ownership.getTenantOwner().getName() : "---");
|
||||
userOwnerInfo.setText(hasUserOwner ? ownership.getUserOwner().getName() : "---");
|
||||
|
||||
// Update changeability
|
||||
isSelfServiceServerCheckbox.setEnabled(userService.hasCurrentUserMetaPermission(
|
||||
serverInfo.getIdentifier().getPermission(ServerActions.CREATE_OBJECT), serverInfo.getOwnership()));
|
||||
@@ -172,7 +171,6 @@ public class LocalServerManagementPanel extends SimplePanel {
|
||||
private void updateServerConfiguration(ServerConfigurationDTO result) {
|
||||
isStandaloneServerCheckbox.setValue(result.isStandaloneServer(), false);
|
||||
isStandaloneServerCheckbox.setEnabled(true);
|
||||
|
||||
isPublicServerCheckbox.setValue(result.isPublic(), false);
|
||||
isSelfServiceServerCheckbox.setValue(result.isSelfService(), false);
|
||||
}
|
||||
|
||||
-1
@@ -271,7 +271,6 @@ public class UserService {
|
||||
}
|
||||
anonymousUser = resultAndAnomynous.getB();
|
||||
serverInfo = resultAndAnomynous.getC();
|
||||
|
||||
preAuthenticated = (!userInitiallyLoaded && currentUser != null);
|
||||
userInitiallyLoaded = true;
|
||||
logger.info("User changed to "
|
||||
|
||||
@@ -535,6 +535,13 @@ public interface SecurityService extends ReplicableWithObjectInputStream<Replica
|
||||
void migratePermission(User user, WildcardPermission permissionToMigrate,
|
||||
Function<WildcardPermission, WildcardPermission> permissionReplacement);
|
||||
|
||||
/**
|
||||
* If the {@link SecuredSecurityTypes#SERVER} object has a group ownership. If not, it is set to the
|
||||
* {@link #getServerGroup() server group}. The {@link SecuredSecurityTypes#SERVER} type is then marked
|
||||
* as migrated (see {@link #checkMigration(Iterable)}).
|
||||
*/
|
||||
void migrateServerObject();
|
||||
|
||||
void checkMigration(Iterable<HasPermissions> allInstances);
|
||||
|
||||
<T extends WithQualifiedObjectIdentifier> boolean hasCurrentUserRoleForOwnedObject(HasPermissions type, T object,
|
||||
|
||||
@@ -280,10 +280,7 @@ public class Activator implements BundleActivator {
|
||||
}
|
||||
}
|
||||
}
|
||||
final QualifiedObjectIdentifier serverIdentifier = SecuredSecurityTypes.SERVER
|
||||
.getQualifiedObjectIdentifier(
|
||||
new TypeRelativeObjectIdentifier(ServerInfo.getName()));
|
||||
securityService.migrateOwnership(serverIdentifier, serverIdentifier.toString());
|
||||
securityService.migrateServerObject();
|
||||
securityService.checkMigration(SecuredSecurityTypes.getAllInstances());
|
||||
}
|
||||
|
||||
|
||||
@@ -2105,6 +2105,8 @@ public class SecurityServiceImpl implements ReplicableSecurityService, ClearStat
|
||||
} finally {
|
||||
Thread.currentThread().setContextClassLoader(oldCCL);
|
||||
}
|
||||
// now ensure that the SERVER object has a valid ownership; use the (potentially new) server group as the default:
|
||||
migrateServerObject();
|
||||
logger.info("Reading isSharedAcrossSubdomains...");
|
||||
sharedAcrossSubdomainsOf = (String) is.readObject();
|
||||
logger.info("...as "+sharedAcrossSubdomainsOf);
|
||||
@@ -2251,6 +2253,14 @@ public class SecurityServiceImpl implements ReplicableSecurityService, ClearStat
|
||||
return wasNecessaryToMigrate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void migrateServerObject() {
|
||||
final QualifiedObjectIdentifier serverIdentifier = SecuredSecurityTypes.SERVER
|
||||
.getQualifiedObjectIdentifier(
|
||||
new TypeRelativeObjectIdentifier(ServerInfo.getName()));
|
||||
migrateOwnership(serverIdentifier, serverIdentifier.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkMigration(Iterable<HasPermissions> allInstances) {
|
||||
Class<? extends HasPermissions> clazz = Util.first(allInstances).getClass();
|
||||
|
||||
Reference in new issue
Block a user