Member 10993830 Ответов: 3

Заставить пользователя создать пароль при первом входе в систему


Есть ли способ позволить системе сгенерировать случайный пароль и отправить электронное письмо пользователю со ссылкой на страницу входа, где пользователь должен создать свой собственный пароль? Я видел различные примеры, говорящие о том, что ASP.NET таблица членства, но эта таблица не находится в Identity 2.o. я думаю, что на аналогичном сроке пользователь может быть вынужден изменить пароль через несколько дней (скажем, 60 дней)
		    
                    

3 Ответов

Рейтинг:
2

W∴ Balboos, GHB

Чтобы проверить пароль, вы должны иметь учетную запись пользователя, хранящуюся где-то, и (надеюсь) хэшированный пароль для сравнения. Теперь убедитесь, что у вас также есть столбец в вашем хранилище (например, SQL-таблица), который имеет значение datetime и допускает NULL .

При создании учетной записи дата равна нулю. Просто проверьте дату, и если она равна нулю, то не позволяйте пользователю делать ничего, кроме обновления своего пароля. Когда они меняют свой пароль, то обновляют поле с текущей датой/временем (то есть GetDate() ).

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

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

Наконец, я предполагаю, что вы более или менее знаете, как кодировать, и просто нуждаетесь в решении этой конкретной проблемы. Это хорошо, чтобы посмотреть в интернете, но лучше, если вы попытаетесь найти решение самостоятельно. Именно так вы учитесь решать проблемы - не копируя то, что сделал кто-то другой.   То есть, если вы хотите быть на голову выше остальных тех, кто "учится программировать".


Рейтинг:
1

Suraj Sahoo | Coding Passion

Лучше вам проверить дни для последней смены пароля и для отправки случайного пароля, сгенерированного системой, вы можете использовать GUID лучших уникальных безопасных и случайных значений, произведенных Microsoft. Здесь идентификатор GUID[^]
Вы также можете иметь службу windows, которая будет регулярно вызываться во время отправки почты для обновления пароля вместе со случайным паролем.

Надеюсь, это поможет
Спасибо :)