У меня здесь есть проблема. Я работаю над многоуровневым CAB-приложением, которое использует веб-сервис для аутентификации и интерфейс WinForms.Нарушение/приостановка процесса входа в систему изменение имени истекшего пароля
Теперь меня попросили ввести срок действия пароля и получили необходимые данные, и я использовал их, чтобы узнать, истек ли пароль пользователя, только дело в том, что у меня возникли проблемы с приостановкой процесса входа в систему и «перенаправление» на форму ChangePassword.
То, что я пытался, выбрасывает пользовательское исключение, называемое PasswordExpiredException (наследует System.Exception и позже ApplicationExcionion, если это не работает) и вызывает ChangePassword.ShowDialog() в catch. Это вызывает головную боль, потому что он делает то, что мне чертовски хорошо говорит, что нужно делать, и бросает неподходящее исключение при входе в систему, если пароль истек.
Итак, могу ли я отказаться от своего исключения, когда это будет сделано? ИЛИ, должен ли я отказаться от идеи и сделать это «правильно»? Не имея понятия, что это может быть
Основной Прогон стеком вызовов при входе в систему ~~>
Logon.Cs.btnOK_Click ~~> wsAuthentication.GetProvider(GetUserDBInstace(UserName))~~>
ASPNETAuthentication.Authenticate(username,password)~~>
CheckIfExipred(MembershipUser.LastPasswordChangedDate)
~Y~> throw PasswordExpiredException; //getting it to go back all the way to the UI, opening up ChangePassword.cs, leaving me with an authenticated user who's about to change his old password
~N~> //continue login, ignoring all my hard work
спасибо, я посмотрю на это – Dani