Как аутентифицировать пользователей через LDAP с ГСС ведут переговоры обязательной аутентификации с использованием C#?
Я новичок в LDAP. Я написал приведенный ниже код, который аутентифицирует пользователей с помощью LDAP. В настоящее время мне приходится проверять пользователей с помощью сервера, который имеет тип аутентификации ожидания GSS-Negotiate. Я не смог найти никаких примеров для проверки пользователя с таким типом привязки аутентификации. Приведенный ниже код, который я попробовал, не работает на этой обязательной аутентификации. Чего мне не хватает в приведенном ниже сегменте кода? Любая помощь будет очень признательна. Кроме того, есть ли интернет-сервер LDAP, на котором я могу проверить пользователя с привязкой GSS-Negotiate, чтобы проверить его?
Что я уже пробовал:
<pre lang="c#"> <pre>public static string AuthFunction_One(string identity, string password, string containerString, string adServerName, bool useLDAPS, IdentityType identityType) { string failedString = "FAILED"; string successString = "SUCCESS"; string returnValue = failedString; try { PrincipalContext ctx = null; if (useLDAPS) { ctx = new PrincipalContext(ContextType.Domain, adServerName, containerString, ContextOptions.Negotiate | ContextOptions.SecureSocketLayer); } else { ctx = new PrincipalContext(ContextType.Domain, adServerName, containerString); } UserPrincipal oUserPrincipal = UserPrincipal.FindByIdentity(ctx, identityType, identity); PrincipalSearchResult<Principal> oPrincipalSearchResult = oUserPrincipal.GetGroups(); try { foreach (Principal result in oPrincipalSearchResult) { } } catch (Exception ex) { NLogHelper.GetInstance().Log("ADUtilityClass", "AuthFunction_One", NLog.LogLevel.Debug, "Failed to probe groups. Ex: " + ex.ToString()); } if (ctx.ValidateCredentials(identity, password)) { return successString; } else { return failedString; } } catch (Exception ex) { NLogHelper.GetInstance().Log("ADUtilityClass", "AuthFunction_One", NLog.LogLevel.Debug, "Error in function. Ex: " + ex.ToString()); return failedString; } }