Ответ 1
Аутентификация LDAP и On-Premises - это не одно и то же, поэтому, IMHO, режим On-Premises, это стало "готовым" вариантом, а также потому, что Microsoft практически не стремится к переходу на Лазурное облако:)
Режим On-Premises (как вы можете видеть здесь) - это способ использования AD как поставщика федерации (проверьте это на SF), например, Twitter или Facebook, если вы предпочитаете; вы можете использовать ADFS локально (если ваш AD поддерживает его) или в облаке (с Azure).
Если вы ищете аутентификацию LDAP, самый простой способ работы - использовать режим "Индивидуальная учетная запись пользователя" (который похож на старые формы обучения в школе) и использовать AD как источник правды для пользовательского auth с чем-то вроде (проверьте эту статью SO):
using System.Security;
using System.DirectoryServices.AccountManagement;
public struct Credentials
{
public string Username;
public string Password;
}
public class Domain_Authentication
{
public Credentials Credentials;
public string Domain;
public Domain_Authentication(string Username, string Password, string SDomain)
{
Credentials.Username = Username;
Credentials.Password = Password;
Domain = SDomain;
}
public bool IsValid()
{
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, Domain))
{
// validate the credentials
return pc.ValidateCredentials(Credentials.Username, Credentials.Password);
}
}
}
В любом случае, если вы работаете с гетерогенными системами, если вы предпочитаете работать с чем-то более "безопасным", я предлагаю вам использовать OAuth2, который, как и внешняя поддержка в MVC 6.
Update
Если вы хотите использовать идентификатор ASP.NET с LDAP, вы можете создать свой собственный пользовательский поставщик хранилища, как это было прекрасно описано здесь. Это не сложно, но реализовать его можно довольно долго.