mirror of
https://github.com/nicolabs/ldap-plugin.git
synced 2025-09-07 05:14:24 +02:00
LDAPBindSecurityRealm.groovy> can be now overridden in
$JENKINS_HOME if it exists. See http://jenkins.361315.n4.nabble.com/LDAPBindSecurityRealm-groovy-td3584243.html Originally-Committed-As: 77188bfccf1fbafad14a18a26a0175e54157383e
This commit is contained in:
parent
f7389a7339
commit
bd334cff2d
|
@ -54,6 +54,7 @@ import org.acegisecurity.userdetails.UsernameNotFoundException;
|
|||
import org.acegisecurity.userdetails.ldap.LdapUserDetails;
|
||||
import org.acegisecurity.userdetails.ldap.LdapUserDetailsImpl;
|
||||
import org.apache.commons.collections.map.LRUMap;
|
||||
import org.apache.commons.io.input.AutoCloseInputStream;
|
||||
import org.kohsuke.stapler.DataBoundConstructor;
|
||||
import org.kohsuke.stapler.QueryParameter;
|
||||
import org.springframework.dao.DataAccessException;
|
||||
|
@ -66,6 +67,9 @@ import javax.naming.directory.Attributes;
|
|||
import javax.naming.directory.BasicAttributes;
|
||||
import javax.naming.directory.DirContext;
|
||||
import javax.naming.directory.InitialDirContext;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
import java.net.InetAddress;
|
||||
import java.net.Socket;
|
||||
|
@ -349,7 +353,15 @@ public class LDAPSecurityRealm extends AbstractPasswordBasedSecurityRealm {
|
|||
binding.setVariable("instance", this);
|
||||
|
||||
BeanBuilder builder = new BeanBuilder();
|
||||
builder.parse(Jenkins.getInstance().servletContext.getResourceAsStream("/WEB-INF/security/LDAPBindSecurityRealm.groovy"),binding);
|
||||
String fileName = "LDAPBindSecurityRealm.groovy";
|
||||
try {
|
||||
File override = new File(Jenkins.getInstance().getRootDir(), fileName);
|
||||
builder.parse(
|
||||
override.exists() ? new AutoCloseInputStream(new FileInputStream(override)) :
|
||||
Jenkins.getInstance().servletContext.getResourceAsStream("/WEB-INF/security/"+ fileName),binding);
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new Error("Failed to load "+fileName,e);
|
||||
}
|
||||
WebApplicationContext appContext = builder.createApplicationContext();
|
||||
|
||||
ldapTemplate = new LdapTemplate(findBean(InitialDirContextFactory.class, appContext));
|
||||
|
|
Loading…
Reference in a new issue