Есть ли способ настроить исключение / сообщение об ошибке Active Directoryies? - PullRequest
2 голосов
/ 24 мая 2011

Я использую Active Directory в качестве хранилища данных для пользователей моего сайта.У меня Active Directory выбрасывает следующее исключение, если пароль не соответствует ограничениям политики паролей.

-> Предоставленный пароль недействителен.Пароли должны соответствовать требованиям к надежности пароля, настроенным для провайдера по умолчанию.

Могу ли я настроить эти сообщения об ошибках / уведомления любым способом, чтобы они были более конкретными ??

Что я хочуявляется то, что - если «история паролей» является нарушением ограничения, то в сообщении об ошибке должно быть сказано так (например, Новый пароль должен отличаться от последних 10 использованных паролей .. )

Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 24 мая 2011

вы можете поймать это и throw ваше собственное сообщение

try {
   // your error will probably appear here
    if (MembershipService.ValidateUser(usr, pwd))
    {
        ...
    }
}
catch(Exception ex)
{    
    // Let's see if we have Inner Exceptions to deal
    if(ex.InnerException != null)
        while(ex.InnerException != null)
            ex = ex.InnerException;

    // Now, let's check our exception
    if(ex.Message.StartsWith("The password supplied is invalid. Passwords must conform to the password strength requirements configured for the default provider."))
    {
        throw new Exception("My custom message goes here");
    }

    // Let's throw the original one 
    throw ex;
}

Это то, что вы пытаетесь достичь?

0 голосов
/ 24 мая 2011

Хорошо, вы должны увидеть точный тип исключения, которое выдается, и установить для этого исключения catch .

Если вы увидите эту ссылку, http://msdn.microsoft.com/en-us/library/0yd65esw.aspx,, вы увидите, что вы можете перехватить несколько конкретных исключений.

Затем вы можете вернуть пользователю любое сообщение.

...