2014-12-08 1 views
2

현재 ASP.NET ID 암호 재설정 (전자 메일 확인을 통해)을하려면 사용자가 전자 메일을 다시 입력하고 새 암호를 다시 설정해야합니다. 그러나 대부분의 경우 암호 재설정은 새 암호 만 필요합니다. 어떻게이 일을 할 수 있겠습니까?전자 메일을 입력하지 않고 암호 재설정 (ASP.NET ID)

나는 사용자 ID는 이메일, 예컨대 :

var user = await UserManager.FindByNameAsync(model.Email); 

그것이 사용자 ID를 포함로 암호 재설정의 CallbackUrl에서 직접 사용자 ID를 얻을 수 있나요을 받고 의해 발견되는 것을 발견? 아니면 더 나은 대체 접근법이 있습니까?

+1

에 읽는 것이 좋습니다. 사실이 아니다. 더 안전한 방법은 암호 재설정 전에 사용자를 인증하는 수단으로 전자 메일 주소를 사용하는 것입니다. – GVashist

답변

0

암호 재설정을 시도하는 사람이 암호 재설정이 완료된 계정의 소유자인지 어떻게 확인합니까? 사용자 이름이나 전자 메일은 암호 재설정 대상을 알기 위해 필요하며 전자 메일로 보낸 암호 재설정 링크는 "기능"이 아닌 보안 요구 사항입니다.

고도로 "만 새 암호가 필요한 암호 재설정 대부분의 경우"주제 (긴하지만, 아주 유용하지) Troy Hunt: Everything you ever wanted to know about building a secure password reset feature

+0

그래도 좋은 기사 였어. 그러나 이것이 내가 해결해야 할 필요 조건입니다. 사용자에게 전자 메일을 입력하지 않고 비밀번호를 재설정 할 수있는 솔루션을 제공해야한다는 것을 의미합니다. – eulercode

+1

@eulercode이 요구 사항에 관해 고객에게 이야기하고 제안 된 방법에 대해 강력히 권고 할 수 있습니다. 그들은 자신의 응용 프로그램에 보안 허점을 만들 것을 요구하고 있다는 사실을 모를 수도 있습니다. – trailmax

+0

사용자 이름 또는 전자 메일은 암호를 다시 설정하는 사람 <또는 사용자가 쉽게 추측 할 수없는 전자 메일과 관련된 고유 한 GUID를 알아야합니다. – RandomUs1r

0

이전에 이것을 어떻게 처리했는지는 재설정 된 비밀번호 URL과 재설정 된 비밀번호 기능을 시간 초과와 연관시키는 것입니다.

워크 플로우 :

사용자가 클릭 비밀번호> 이메일 링크를 이메일 클릭의 GUID> 소유자를 포함하는 링크를 보내 잊어 버렸습니다> asp.net 페이지 요청이 시간 제한 내에 여전히있는 경우 URL> 페이지 검사에서 GUID를 읽고 > 사용자가 새 비밀번호 &을 입력하면이를 확인합니다.

관련 문제