package jenkins.diagnostics;
import hudson.Extension;
import hudson.model.AdministrativeMonitor;
import jenkins.model.Jenkins;
import org.jenkinsci.Symbol;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import java.io.IOException;
/**
* Unsecured Jenkins is, well, insecure.
*
* <p>
* Call attention to the fact that Jenkins is not secured, and encourage the administrator
* to take an action.
*
* @author Kohsuke Kawaguchi
*/
@Extension @Symbol("securityIsOff")
public class SecurityIsOffMonitor extends AdministrativeMonitor {
@Override
public boolean isActivated() {
return !Jenkins.getInstance().isUseSecurity();
}
/**
* Depending on whether the user said "yes" or "no", send him to the right place.
*/
public void doAct(StaplerRequest req, StaplerResponse rsp) throws IOException {
if(req.hasParameter("no")) {
disable(true);
rsp.sendRedirect(req.getContextPath()+"/manage");
} else {
rsp.sendRedirect(req.getContextPath()+"/configureSecurity");
}
}
}