Ok, sono un po 'bloccato su come risolvere questo problema.ASP MVC: verifica e-mail (crittografia del collegamento di attivazione)
Quando un utente si registra. Voglio mandargli un link in modo che possa verificare l'indirizzo email di hes.
Ma ho problemi a generare il collegamento.
Ho già scritto il controller per accettare i collegamenti con i tasti corretti. non ho idea di come generare le chiavi di attivazione.
Così, quando l'utente si registra Lo manderò un link via e-mail come questa:
Your activation link is : http://site.com/user/verify?key=keyhere
Ora ho creato questo metodo (chiamato dal controller/azione) per gestire la chiave nel link:
public string Verify(string value)
{
String email = Decrypt(value);
user u = gebRep.GetUsers().WithEmail(email).SingleOrDefault();
if (u != null)
{
u.emailValid = true;
userReppository.Save();
}
return "Invallid validation value!";
}
Ora il mio problema è che non ho idea su come cifrare e decifrare il messaggio in una sorta di chiave (url amichevole) Così posso spedire con il link e posso usarlo per verificare la posta elettronica.
Ho bisogno di un modo (non complicato ma sicuro) per crittografare l'email in una chiave urlfriendly.
tyvm
questo è il metodo più semplice, a mio parere –
Se ho capito bene, la versione di Nathan non ha bisogno di salvare per l'utente. Quindi mi sembra più semplice aggiungere 2 funzioni, piuttosto che modificare il DB. –