2017-09-24 9 views
-2

ユーザーIDを使用してadminページからユーザーパスワードをnullに変更するにはどうすればよいですか?MVCで管理者がユーザーパスワードをnullにリセットする方法

は私がログインモデルでこのコードを持っている:コントローラで

public string userId{ get; set; } 
[Compare("userId", ErrorMessage = "not matched")] 
public string confirmId{ get; set; } 

public ActionResult reset([Bind(Include = "userId,confirmId")] Login model1, reset model2) { 
    bool userExist = dbcontext.Login.Any(contact => contact.userId.Equals(model2.userId)); 
    if (contactExists && model2.userId==model2.confirmId) { 
     dbcontext.Entry(model1).Property(x => x.LoginPassword).IsModified = true; 
     dbcontext.Entry(model1).Property(x => x.Item1.EmployeeName).IsModified = false; 
     dbcontext.Entry(model1).State = EntityState.Modified; 
     dbcontext.SaveChanges(); 
    } 
} 

私はこれを持っているビューで

public string userId { get; set; } 
public string userPassword { get; set; } 
public string userName { get; set; } 

リセットモデルで

コード:

@model BSR.Models.reset 
@using (Html.BeginForm()) { 
    textbox for userId 
    textbox for confirmId 
    submitt button 
} 

nulluserPasswordを割り当てようとしましたが、データベーステーブルにnullを受け入れませんでした。私はそれをnullにすることができましたが、userPassowrdnullに変更して残りのフィールドを変更しないままそのまま残りますか?

+0

ヌルパスワードは不合理です。ログインフォームにどのように 'NULL 'を入力しますか? –

+0

ユーザーがパスワードを忘れて管理者に連絡した場合、adminがuserIdとしてリセットすることができますが、userPasswordはnullにする必要があります.useridとuserpasswordはuseridと同じにすることができます。テーブルのハッシュパスワード – Nadz

答えて

0

は、ユーザーストアを使用してみてください:(ASP.NET Identity reset password

UserManager<IdentityUser> userManager = 
new UserManager<IdentityUser>(new UserStore<IdentityUser>()); 

userManager.RemovePassword(userId); 

userManager.AddPassword(userId, newPassword); 
関連する問題