Требовать от аутентифицированного пользователя смены пароля - PullRequest
1 голос
/ 07 июня 2011

Используя ASP.Net Forms и ASP.Net MVC 3 (вместе - мы находимся в процессе изменения веб-форм на MVC), у меня есть сценарий, когда человек аутентифицируется (имя пользователя / пароль), но из-за существующего определенного условия в свою учетную запись, они должны изменить свой пароль, прежде чем продолжить.

Поскольку пользователь уже прошел аутентификацию, существует ли глобальное местоположение, в котором я могу запретить любой доступ к частям сайта, требующим аутентификации, до тех пор, пока они не введут свой новый пароль? Я понимаю, что может потребоваться 2 местоположения (одно для веб-форм, другое для MVC).

Ответы [ 3 ]

2 голосов
/ 08 июня 2011

В Application_AuthenticateRequest проверьте наличие определенного условия.Если не встретились (то есть они должны изменить pwd), перенаправьте на соответствующую страницу.Это должно работать для MVC и WebForms.

0 голосов
/ 08 июня 2011

Я бы поставил его как свойство в модели User (т. Е. Public bool ChangedPassword {get; set;}).Это будет установлено как Ложь, когда пользователь создан, и установлено как Истина, когда пользователь меняет пароль.Перед любым защищенным действием проверьте, является ли ChangedPassword == True.

0 голосов
/ 07 июня 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...