mirror of
https://github.com/nicolabs/ldap-plugin.git
synced 2025-09-07 05:14:24 +02:00
fixed initialization issue with LDAP in 1.175 (#1208)
git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@6855 71c3de6d-444a-0410-be80-ed276b4c234a Originally-Committed-As: 9b2083972ffa2acd9bf0cda40da0ac5cf1fcd5b0
This commit is contained in:
parent
7e6f4aced5
commit
a1dd632704
|
@ -10,12 +10,16 @@ import hudson.util.spring.BeanBuilder;
|
||||||
import net.sf.json.JSONObject;
|
import net.sf.json.JSONObject;
|
||||||
import org.acegisecurity.AuthenticationManager;
|
import org.acegisecurity.AuthenticationManager;
|
||||||
import org.acegisecurity.userdetails.UserDetailsService;
|
import org.acegisecurity.userdetails.UserDetailsService;
|
||||||
|
import org.acegisecurity.userdetails.UserDetails;
|
||||||
|
import org.acegisecurity.userdetails.UsernameNotFoundException;
|
||||||
import org.acegisecurity.ldap.search.FilterBasedLdapUserSearch;
|
import org.acegisecurity.ldap.search.FilterBasedLdapUserSearch;
|
||||||
|
import org.acegisecurity.ldap.LdapUserSearch;
|
||||||
import org.kohsuke.stapler.DataBoundConstructor;
|
import org.kohsuke.stapler.DataBoundConstructor;
|
||||||
import org.kohsuke.stapler.QueryParameter;
|
import org.kohsuke.stapler.QueryParameter;
|
||||||
import org.kohsuke.stapler.StaplerRequest;
|
import org.kohsuke.stapler.StaplerRequest;
|
||||||
import org.kohsuke.stapler.StaplerResponse;
|
import org.kohsuke.stapler.StaplerResponse;
|
||||||
import org.springframework.web.context.WebApplicationContext;
|
import org.springframework.web.context.WebApplicationContext;
|
||||||
|
import org.springframework.dao.DataAccessException;
|
||||||
|
|
||||||
import javax.naming.NamingException;
|
import javax.naming.NamingException;
|
||||||
import javax.naming.directory.Attribute;
|
import javax.naming.directory.Attribute;
|
||||||
|
@ -127,10 +131,16 @@ public class LDAPSecurityRealm extends SecurityRealm {
|
||||||
|
|
||||||
BeanBuilder builder = new BeanBuilder();
|
BeanBuilder builder = new BeanBuilder();
|
||||||
builder.parse(Hudson.getInstance().servletContext.getResourceAsStream("/WEB-INF/security/LDAPBindSecurityRealm.groovy"),binding);
|
builder.parse(Hudson.getInstance().servletContext.getResourceAsStream("/WEB-INF/security/LDAPBindSecurityRealm.groovy"),binding);
|
||||||
WebApplicationContext appContext = builder.createApplicationContext();
|
final WebApplicationContext appContext = builder.createApplicationContext();
|
||||||
|
|
||||||
return new SecurityComponents(
|
return new SecurityComponents(
|
||||||
findBean(AuthenticationManager.class, appContext),
|
findBean(AuthenticationManager.class, appContext),
|
||||||
findBean(UserDetailsService.class, appContext));
|
new UserDetailsService() {
|
||||||
|
final LdapUserSearch ldapSerach = findBean(LdapUserSearch.class, appContext);
|
||||||
|
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException {
|
||||||
|
return ldapSerach.searchForUser(username);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public DescriptorImpl getDescriptor() {
|
public DescriptorImpl getDescriptor() {
|
||||||
|
|
|
@ -28,10 +28,14 @@ bindAuthenticator(BindAuthenticator,initialDirContextFactory) {
|
||||||
// "uid={0},ou=people"
|
// "uid={0},ou=people"
|
||||||
// ]
|
// ]
|
||||||
// this is when we need to find it.
|
// this is when we need to find it.
|
||||||
userSearch = bean(FilterBasedLdapUserSearch, instance.userSearchBase, instance.userSearch, initialDirContextFactory) {
|
userSearch = ldapUserSearch;
|
||||||
searchSubtree=true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ldapUserSearch(FilterBasedLdapUserSearch, instance.userSearchBase, instance.userSearch, initialDirContextFactory) {
|
||||||
|
searchSubtree=true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
authoritiesPopulator(DefaultLdapAuthoritiesPopulator,initialDirContextFactory,"ou=groups") {
|
authoritiesPopulator(DefaultLdapAuthoritiesPopulator,initialDirContextFactory,"ou=groups") {
|
||||||
// groupRoleAttribute = "ou";
|
// groupRoleAttribute = "ou";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue