package jenkins.security.s2m; import hudson.Extension; import hudson.model.AdministrativeMonitor; import org.kohsuke.stapler.HttpResponse; import org.kohsuke.stapler.HttpResponses; import org.kohsuke.stapler.QueryParameter; import javax.inject.Inject; import java.io.IOException; /** * If {@link AdminWhitelistRule#masterKillSwitch} is on, warn the user. * * @author Kohsuke Kawaguchi * @since 1.THU */ @Extension public class MasterKillSwitchWarning extends AdministrativeMonitor { @Inject AdminWhitelistRule rule; @Inject MasterKillSwitchConfiguration config; @Override public boolean isActivated() { return rule.getMasterKillSwitch() && config.isRelevant(); } public HttpResponse doAct(@QueryParameter String dismiss) throws IOException { if(dismiss!=null) { disable(true); return HttpResponses.redirectViaContextPath("/manage"); } else { return HttpResponses.redirectViaContextPath("configureSecurity"); } } }