ASP.NET Membership Provider - Validar Hashed Segurança Pergunta / Resposta

votos
2

Em uma página eu estou adicionando recuperar usuário Esqueceu

Passo 1) Insira o endereço de e-mail (Obter conta por e-mail)

Passo 2) Verifique Pergunta de Segurança (fornecem resposta e eu validá-lo)

Passo 3) Enviar um e-mail com nome de utilizador

Passo 2 é onde eu estou preso. Como faço para validar a resposta com o que está armazenado no banco de dados?

Todos os valores estão em hash.

Vejo outras perguntas postadas semelhante a este, mas eles não responder à pergunta, pelo menos não de forma clara.

Publicado 19/05/2009 em 19:25
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

Como você disse, os valores no DB estão em hash, por isso, a fim de validar o que o usuário digitou no coincide com o que está no DB, hash o valor que o usuário digitou e comparar os dois valores de hash. Se eles forem iguais, ele valida.

Você precisa basicamente de hash o texto de resposta antes de compará-lo com o valor no banco de dados.

Além disso, estar ciente de que, por vezes, o texto da resposta é salgado com um valor antes que ele é hash, então os mesmos passos que precisam ser tomadas ao validar.

Respondeu 19/05/2009 em 19:35
fonte usuário

votos
1

Olhando para o provedor, que não expõe os métodos para você realizar o seu passo desejado dois.

Você terá que fazer o seguinte.

  1. Criar um procedimento armazenado que irá recuperar os resultados com base no e-mail e resposta.
  2. Como você mencionou uma vez a resposta é hash, você terá de hash MD5 os valores fornecidos pelo usuário. ( FormsAuthentication.HashPasswordForStoringInConfigFileIria trabalhar para isso)
  3. Ligue para o seu procedimento armazenado com os parâmetros necessários para validar que a informação utilizadores corresponde.
Respondeu 19/05/2009 em 19:39
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more