@Override
  protected void configure() {
    bind(LdapFacade.class).to(AmbariLdapFacade.class);
    bind(LdapConfigurationService.class).to(DefaultLdapConfigurationService.class);
    bind(LdapAttributeDetectionService.class).to(DefaultLdapAttributeDetectionService.class);
    bind(LdapConnectionConfigService.class).to(DefaultLdapConnectionConfigService.class);

    // this binding requires the JPA module!
    bind(AmbariLdapConfiguration.class).toProvider(AmbariLdapConfigurationProvider.class);

    bind(AttributeDetectorFactory.class);

    // binding the set of user attributes detector
    Multibinder<AttributeDetector> userAttributeDetectorBinder = Multibinder.newSetBinder(binder(), AttributeDetector.class,
      Names.named(USER_ATTRIBUTES_DETECTORS));
    userAttributeDetectorBinder.addBinding().to(UserObjectClassDetector.class);
    userAttributeDetectorBinder.addBinding().to(UserNameAttrDetector.class);
    userAttributeDetectorBinder.addBinding().to(UserGroupMemberAttrDetector.class);


    // binding the set of group attributes detector
    Multibinder<AttributeDetector> groupAttributeDetectorBinder = Multibinder.newSetBinder(binder(), AttributeDetector.class,
      Names.named(GROUP_ATTRIBUTES_DETECTORS));
    groupAttributeDetectorBinder.addBinding().to(GroupObjectClassDetector.class);
    groupAttributeDetectorBinder.addBinding().to(GroupNameAttrDetector.class);
    groupAttributeDetectorBinder.addBinding().to(GroupMemberAttrDetector.class);

  }
GUICE configuration module for setting up LDAP related infrastructure.
ambari-server/src/main/java/org/apache/ambari/server/ldap/LdapModule.java