2016-04-04 2 views
0

Мне нужно настроить AD LDS через SSL. Я пытаюсь каждую статью с двух дней, это http://erlend.oftedal.no/blog/?blogid=7 кажется разумным, но я застрял в предоставлении разрешения на чтение экземпляра AD LDS для сертификата.Использование AD LDS через SSL

это официальная статья и первый шаг это действительно расплывчатым, не знаю, что делать https://msdn.microsoft.com/en-us/library/cc725767(v=ws.10).aspx#BKMK_1

Я использую Windows Server 2012 r2

ответ

0

Я сделал по настройке Enterprise CA первый а затем с помощью указания на этой странице

http://social.technet.microsoft.com/wiki/contents/articles/2980.ldap-over-ssl-ldaps-certificate.aspx#Reasons

в следующем порядке

  1. Публикация сертификата, который поддерживает проверку подлинности сервера

    В пункте 5 этого шага, который

    «5. В диалоговом окне Duplicate Template оставьте выбранный по умолчанию выбранный Windows Server 2003 Enterprise и нажмите «OK».

    Осторожно выберите соответствующую ОС, руководство по умолчанию оставьте его по умолчанию, но я использовал Windows Server 2012 r2, поэтому я выбираю один я использую. Выберите соответствующую операционную систему.

  2. Экспорт сертификата LDAPS и импорт для использования с AD DS

  3. Проверка соединения

в LDAPS Зачем мне ADLDS соединение через SSL?

Поскольку я хочу, чтобы пользователь изменил свой пароль ADSL, соединение без SSL, использующее PrincipalContext, не позволяло мне это делать. Итак, теперь я использую следующий код, он работает как шарм.

PrincipalContext pc = new PrincipalContext(
        ContextType.ApplicationDirectory, 
        "YourServerUrl:YourSSLPort", 
        "CN=YourPartitionName,DC=partition,DC=com", 
        ContextOptions.SimpleBind | ContextOptions.SecureSocketLayer, 
        "FullDistinguisedNameOfUser", 
        "PasswordOfUser"); 

bool IsUserValidated = pc.ValidateCredentials(
        "FullDistinguisedNameOfUser", 
        "PasswordOfUser", 
        ContextOptions.SimpleBind | ContextOptions.SecureSocketLayer); 


      if (IsUserValidated) 
      { 
       UserPrincipal up = UserPrincipal.FindByIdentity(
       "FullDistinguisedNameOfUser", 
       "PasswordOfUser"); 

       up.ChangePassword("UserOldPassword", "UserNewPassword"); 
      } 
Смежные вопросы