Как в ELMAH с MVC 3 скрыть конфиденциальные данные формы из журнала ошибок?

Вот сценарий ...

Пользователь вводит свое имя пользователя. Вводит" неверно " пароль. Значения имени пользователя и пароля передаются в журнал ошибок Elmah. через Exception.Context.Request.Form ["Пароль"] . Это значение предназначено только для чтения и не может быть изменено.

И нет ... Я не хочу отклонять исключение (сбой). Мы программно добавили фильтрацию ErrorLog:

void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
  if (e.Exception is LogOnException)
  {
    ((HttpContext) e.Context).Request.Form.Remove("Password");
    // This is what we want to do, but we can't because it is read-only
  }
}

Но не можем изменить Request.Form так, чтобы пароль был скрыт в нашем журнале ошибок.

Кто-нибудь когда-либо сталкивался с решением этой проблемы?

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

Ура, ребята. Заранее спасибо.

16
задан willis 8 July 2011 в 17:53
поделиться