[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);
|
||||
}
|
||||
|
||||
@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
|
||||
*
|
||||
|
|
|
@ -29,6 +29,11 @@ import li.strolch.runtime.StrolchConstants;
|
|||
*/
|
||||
public interface PrivilegeHandler {
|
||||
|
||||
/**
|
||||
* Reloads the configuration, by re-initializing the underlying privilege handler
|
||||
*/
|
||||
void reloadConfiguration();
|
||||
|
||||
/**
|
||||
* Authenticate a user
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue