[New] Added ReloadPrivilegeHandlerJob
This commit is contained in:
parent
29302a79b0
commit
d70a4e8f62
|
@ -0,0 +1,17 @@
|
||||||
|
package li.strolch.policy;
|
||||||
|
|
||||||
|
import li.strolch.agent.api.StrolchAgent;
|
||||||
|
import li.strolch.job.StrolchJob;
|
||||||
|
import li.strolch.privilege.model.PrivilegeContext;
|
||||||
|
|
||||||
|
public class ReloadPrivilegeHandlerJob extends StrolchJob {
|
||||||
|
|
||||||
|
public ReloadPrivilegeHandlerJob(StrolchAgent agent) {
|
||||||
|
super(agent);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void execute(PrivilegeContext ctx) throws Exception {
|
||||||
|
getContainer().getPrivilegeHandler().reloadConfiguration();
|
||||||
|
}
|
||||||
|
}
|
|
@ -66,6 +66,22 @@ public class DefaultStrolchPrivilegeHandler extends StrolchComponent implements
|
||||||
this.privilegeHandler = initializeFromXml(configuration, privilegeConfigFile);
|
this.privilegeHandler = initializeFromXml(configuration, privilegeConfigFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void reloadConfiguration() {
|
||||||
|
|
||||||
|
try {
|
||||||
|
runAsAgent(ctx -> this.privilegeHandler.persistSessions(ctx.getCertificate(), getClass().getName()));
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("Failed to persist sessions", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
ComponentConfiguration configuration = getConfiguration();
|
||||||
|
RuntimeConfiguration runtimeConfiguration = configuration.getRuntimeConfiguration();
|
||||||
|
File privilegeConfigFile = configuration
|
||||||
|
.getConfigFile(PROP_PRIVILEGE_CONFIG_FILE, PRIVILEGE_CONFIG_XML, runtimeConfiguration);
|
||||||
|
this.privilegeHandler = initializeFromXml(configuration, privilegeConfigFile);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initializes the {@link DefaultPrivilegeHandler} from the configuration file
|
* Initializes the {@link DefaultPrivilegeHandler} from the configuration file
|
||||||
*
|
*
|
||||||
|
|
|
@ -29,6 +29,11 @@ import li.strolch.runtime.StrolchConstants;
|
||||||
*/
|
*/
|
||||||
public interface PrivilegeHandler {
|
public interface PrivilegeHandler {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reloads the configuration, by re-initializing the underlying privilege handler
|
||||||
|
*/
|
||||||
|
void reloadConfiguration();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Authenticate a user
|
* Authenticate a user
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue