mirror of
https://github.com/nicolabs/ldap-plugin.git
synced 2025-09-07 05:14:24 +02:00
Merge remote branch 'upstream/master'
Originally-Committed-As: 3ff20f4436bca904da2c9daad94139aef543ff9a
This commit is contained in:
commit
d1b2c88721
|
@ -29,7 +29,7 @@ import static hudson.Util.fixNull;
|
|||
import static hudson.Util.fixEmptyAndTrim;
|
||||
import static hudson.Util.fixEmpty;
|
||||
import hudson.model.Descriptor;
|
||||
import hudson.model.Hudson;
|
||||
import jenkins.model.Jenkins;
|
||||
import hudson.model.User;
|
||||
import hudson.tasks.MailAddressResolver;
|
||||
import hudson.util.FormValidation;
|
||||
|
@ -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;
|
||||
|
@ -73,7 +77,6 @@ import java.net.UnknownHostException;
|
|||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Hashtable;
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
@ -350,7 +353,15 @@ public class LDAPSecurityRealm extends AbstractPasswordBasedSecurityRealm {
|
|||
binding.setVariable("instance", this);
|
||||
|
||||
BeanBuilder builder = new BeanBuilder();
|
||||
builder.parse(Hudson.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));
|
||||
|
@ -453,7 +464,7 @@ public class LDAPSecurityRealm extends AbstractPasswordBasedSecurityRealm {
|
|||
public static final class MailAdressResolverImpl extends MailAddressResolver {
|
||||
public String findMailAddressFor(User u) {
|
||||
// LDAP not active
|
||||
SecurityRealm realm = Hudson.getInstance().getSecurityRealm();
|
||||
SecurityRealm realm = Jenkins.getInstance().getSecurityRealm();
|
||||
if(!(realm instanceof LDAPSecurityRealm))
|
||||
return null;
|
||||
try {
|
||||
|
@ -547,7 +558,7 @@ public class LDAPSecurityRealm extends AbstractPasswordBasedSecurityRealm {
|
|||
@QueryParameter final String managerDN,
|
||||
@QueryParameter final String managerPassword) {
|
||||
|
||||
if(!Hudson.getInstance().hasPermission(Hudson.ADMINISTER))
|
||||
if(!Jenkins.getInstance().hasPermission(Jenkins.ADMINISTER))
|
||||
return FormValidation.ok();
|
||||
|
||||
try {
|
||||
|
|
|
@ -28,7 +28,7 @@ import org.acegisecurity.providers.ldap.authenticator.BindAuthenticator2
|
|||
import org.acegisecurity.ldap.DefaultInitialDirContextFactory
|
||||
import org.acegisecurity.ldap.search.FilterBasedLdapUserSearch
|
||||
import org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider
|
||||
import hudson.model.Hudson
|
||||
import jenkins.model.Jenkins
|
||||
import hudson.security.LDAPSecurityRealm.AuthoritiesPopulatorImpl
|
||||
import hudson.Util
|
||||
import javax.naming.Context
|
||||
|
@ -74,7 +74,7 @@ authenticationManager(ProviderManager) {
|
|||
|
||||
// these providers apply everywhere
|
||||
bean(RememberMeAuthenticationProvider) {
|
||||
key = Hudson.getInstance().getSecretKey();
|
||||
key = Jenkins.getInstance().getSecretKey();
|
||||
},
|
||||
// this doesn't mean we allow anonymous access.
|
||||
// we just authenticate anonymous users as such,
|
||||
|
|
Loading…
Reference in a new issue