Мы разрабатываем веб-приложение, которое использует проверку подлинности с помощью форм и ActiveDirectoryMembershipProvider для проверки подлинности пользователей в Active Directory. Вскоре мы обнаружили, что провайдер не разрешает указывать пустой/пустой пароль, даже несмотря на то, что это совершенно законно в Active Directory (при условии, что политика превентивных паролей не действует).
Предоставлено отражателем:
private void CheckPassword(string password, int maxSize, string paramName)
{
if (password == null)
{
throw new ArgumentNullException(paramName);
}
if (password.Trim().Length < 1)
{
throw new ArgumentException(SR.GetString("Parameter_can_not_be_empty", new object[] { paramName }), paramName);
}
if ((maxSize > 0) && (password.Length > maxSize))
{
throw new ArgumentException(SR.GetString("Parameter_too_long", new object[] { paramName, maxSize.ToString(CultureInfo.InvariantCulture) }), paramName);
}
}
Если не считать написания нашего собственного провайдера, есть ли способ переопределить эту функциональность, используя магию .NET?