ASP.NET MVC 5 Identity reset password

Eticaret2014.Models.AspNetUser user = db.AspNetUsers.FirstOrDefault(a => userID == a.Id && a.SifreSifirlama == sifirlamaSifresi);
            var until = DateTime.Now.AddDays(1);
            if (null != user)
            {
                var token = new StringBuilder();

                //Prepare a 10-character random text
                using (RNGCryptoServiceProvider
                                    rngCsp = new RNGCryptoServiceProvider())
                {
                    var data = new byte[4];
                    for (int i = 0; i < 10; i++)
                    {
                        //filled with an array of random numbers
                        rngCsp.GetBytes(data);
                        //this is converted into a character from A to Z
                        var randomchar = Convert.ToChar(
                            //produce a random number 
                            //between 0 and 25
                                                  BitConverter.ToUInt32(data, 0) % 26
                            //Convert.ToInt32('A')==65
                                                  + 65
                                         );
                        token.Append(randomchar);
                    }
                }
                //This will be the password change identifier 
                //that the user will be sent out
                var tokenid = token.ToString();

                //Generating a token
                var result = await IdentityManager
                                        .Passwords
                                        .GenerateResetPasswordTokenAsync(
                                                      tokenid,
                                                      user.UserName,
                                                      until
                                   );

                if (result.Success)
                {
                           string gizliParola = Membership.GeneratePassword(8, 0);

                           gizliParola = Regex.Replace(gizliParola, @"[^a-zA-Z0-9]", m => "9").ToLower();

                    var sonuc = await IdentityManager.Passwords.ResetPasswordAsync(tokenid, gizliParola);
                    if (sonuc.Success)
                    {
                        MailController.SifreGonder(user.UserName, "tr", gizliParola);

                        TempData["HataMesaj"] = "Şifre sıfırlama maili adresinize gönderildi. Lütfen mailinizi kontrol ediniz.";
                    }
                    else
                    {
                        TempData["HataMesaj"] = sonuc.Errors;
                    }
                }
            }
            return View();

asp.net mvc reset password not current password

Makale Tarihi: 31.07.2015 Gücellenme Tarihi: 12.03.2016

Yorum Yaz

Yorumlarınız denetimden geçtikten sonra yayınlanmaktadır...