All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.camunda.operate.webapp.security.ldap.LDAPConfig Maven / Gradle / Ivy

The newest version!
/*
 * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH under
 * one or more contributor license agreements. See the NOTICE file distributed
 * with this work for additional information regarding copyright ownership.
 * Licensed under the Camunda License 1.0. You may not use this file
 * except in compliance with the Camunda License 1.0.
 */
package io.camunda.operate.webapp.security.ldap;

import static io.camunda.operate.OperateProfileService.LDAP_AUTH_PROFILE;

import io.camunda.operate.property.OperateProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.ldap.core.LdapTemplate;
import org.springframework.ldap.core.support.LdapContextSource;

@Configuration
@Profile(LDAP_AUTH_PROFILE)
public class LDAPConfig {

  protected final Logger logger = LoggerFactory.getLogger(this.getClass());

  @Autowired private OperateProperties operateProperties;

  @Bean
  public LdapTemplate ldapTemplate() {
    try {
      getContextSource()
          .getContext(
              operateProperties.getLdap().getManagerDn(),
              operateProperties.getLdap().getManagerPassword());
    } catch (Exception e) {
      logger.error("Authentication for lookup failed.", e);
    }
    return new LdapTemplate(getContextSource());
  }

  @Bean
  public LdapContextSource getContextSource() {
    final LdapContextSource contextSource = new LdapContextSource();
    contextSource.setUrl(operateProperties.getLdap().getUrl());
    contextSource.setUserDn(operateProperties.getLdap().getManagerDn());
    contextSource.setPassword(operateProperties.getLdap().getManagerPassword());
    return contextSource;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy