ASP.NET RequQuestionAndAnswer ложных перерывов GetPassword - PullRequest
0 голосов
/ 13 июля 2011

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

Итак, RequQutionAndAnswer имеет значение false, пользователь входит в систему и запрашивается.установить свой собственный пароль безопасности и ответ (который я сам кодировал, но который использует некоторые методы членства для хранения информации), который успешно сохраняется в БД в таблице aspnet_membership так же, как если бы пользователь создавался с вопросом о паролеи ответьте изначально.

Затем, когда на странице ForgotYourPassword при попытке использовать Membership.Provider.GetPassword (имя пользователя, passwordanswer) он создает пароль, даже если пароль неверный.

Это может показаться ошибкой в ​​aspnet, потому что установка false для RequQuestionAndAnswer означает для меня:

«Мне не требуется это для создания пользователя, но я все еще могу его использовать».

Принимая во внимание, чтодля asp.net означает:

"Я непотребуйте это, чтобы создать пользователя, и я НИКОГДА не буду его использовать, и поэтому он будет игнорироваться везде. "

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

1 Ответ

1 голос
/ 13 июля 2011

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

...