2017-10-05 7 views
-1

私は自分自身を作成する方法について少し助けますchangepassword?課題はpasswordhashingです。スタックで見つかったいくつかの例を試してみましたが、動作しませんでした。カスタムChangePasswordを作成する - .net ID

これは私のコードです:

 var currentPassword = _userManager.PasswordHasher.HashPassword(changePassword.CurrentPassword); 
     ApplicationUser user = (from x in _context.AspNetUsers 
           where x.Id == changePassword.UserId && x.PasswordHash == currentPassword 
           select new ApplicationUser() 
           { 
            FirstName = x.FirstName, 
            LastName = x.LastName, 
            RoleId = x.RoleId, 
            LocationId = x.LocationId, 
            IsActive = x.IsActive, 
            CreatedOn = x.CreatedOn, 
            CreatedBy = x.CreatedBy, 
            ModifiedOn = x.ModifiedOn, 
            ModifiedBy = x.ModifiedBy 
           }).SingleOrDefault(); //_userManager.FindById(changePassword.UserId); 

     if (user == null) 
     { 
      //does not exist 
      return 0; 
     } 

     user.PasswordHash = _userManager.PasswordHasher.HashPassword(changePassword.NewPassword); 
     var result = _userManager.Update(user); 
+0

あなたの調査結果はどのようなものでしたか? –

答えて

0

まあ、私はそれはとにかく、この質問は、正しい方法ではなく、病気の推測病気答えをフォーマットされてと思ういけません。

ハッシングは、ユーザーが最初にパスワードを入力してハッシュしてデータベースに格納するときの1つの方法です。ユーザーがログインすると、入力をハッシュし、データベースに格納されているハッシュ値と比較します。

パスワードの変更は全く同じです。既存のものを古いものとして入力した後、新しいパスワードで更新するかどうかをチェックする生の関数を実行します。 メールでもできますが、あなたが聞いたことではありません。

関連する問題