как точно сказать пользователю, почему не удалось войти в систему на asp.net - PullRequest
4 голосов
/ 27 мая 2010

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

Все, что я прочитал, включает много кода.

Есть ли простой способ сделать это?

1 Ответ

6 голосов
/ 27 мая 2010

Конечно.

Вы можете поместить свои внеполосные данные в контекст, находясь в вашем провайдере, а затем выбрать их в обработчике ошибок вашего элемента управления для входа в систему, чтобы установить текст ошибки.

public override bool ValidateUser(string username, string password)
{
   // in membership provider
   HttpContext.Current.Items["loginFailureReason"] = "Locked Out";
   return false;
}

// in login codebehind
protected void Login1_LoginError(object sender, EventArgs e)
 {
     Login1.FailureText = (string) HttpContext.Current.Items["loginFailureReason"];
 }
...