相关疑难解决方法(0)

ASP.NET身份重置密码

如何在新的ASP.NET身份系统中获取用户的密码?或者如何在不知道当前密码(用户忘记密码)的情况下重置?

asp.net asp.net-identity

88
推荐指数
5
解决办法
10万
查看次数

为什么在ASP.Net Identity中不支持删除

我正在修补最近使用Visual Studio 2013进行RTM的新身份验证功能.

在实现自定义UserStore时,我正在查看包装盒中附带的UserStore的反编译源Microsoft.AspNet.Identity.EntityFramework.UserStore<TUser>.我注意到不支持删除用户的方法:

  public class UserStore<TUser> : IUserLoginStore<TUser>, IUserClaimStore<TUser>, IUserRoleStore<TUser>, IUserPasswordStore<TUser>, IUserSecurityStampStore<TUser>, IUserStore<TUser>, IDisposable where TUser : IdentityUser
  {
       // other stuff omitted

    public virtual Task DeleteAsync(TUser user)
    {
      throw new NotSupportedException();
    }
  }
Run Code Online (Sandbox Code Playgroud)

那很奇怪不是吗?为什么删除不支持的用户?

我承认我记不起我编写的生产系统硬删除的用户记录,但我不明白为什么不支持此功能.

是否存在技术原因,或仅仅是因为微软认为删除用户记录是"坏"并将其作为开发人员覆盖该方法的练习?

更新

为了了解ASP.NET团队的想法,我搜索了框架用法DeleteAsync(TUser user).框架中的任何内容似乎都没有调用它.所以,似乎他们可以完全离开IUserStore<TUser>界面的成员.

我在这一点上得出的结论是,如果你想要它以及你想要什么,它就可以实现,只有你的应用程序代码或未来的用户管理库才会调用它.

asp.net visual-studio-2013 asp.net-mvc-5 asp.net-identity

11
推荐指数
2
解决办法
6039
查看次数