Подтвердить что ты не робот

Почему удаление не поддерживается в ASP.Net Identity

Я возился с новыми функциями auth, которые недавно RTM'd с Visual Studio 2013.

При реализации пользовательского 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();
    }
  }

Это странно, не так ли? Почему удаление пользователя не поддерживается?

Я признаю, что не могу вспомнить производственную систему, в которой я написал эти жесткие удаленные записи пользователей, но я не понимаю, почему эта функциональность не поддерживается.

Есть ли техническая причина или просто потому, что Microsoft считает, что удаление записей пользователей является "плохим" и оставляет его как упражнение для переопределения метода разработчиком?

Update

В попытке понять, что думала команда ASP.NET, я искал рамки использования DeleteAsync(TUser user). Ничто в структуре, кажется, не вызывает этого. Таким образом, кажется, что они могли полностью вывести элемент из интерфейса IUserStore<TUser>.

Мое заключение на этом этапе заключается в том, что он там реализуется, если вы хотите и как вы хотите, и что он будет когда-либо вызываться вашим кодом приложения или будущими библиотеками управления пользователями.

4b9b3361

Ответ 1

У нас просто закончилось время, чтобы завершить его на 1.0, оно будет добавлено в Обновление 1 как часть остальной части админы, связанной с админом, как свойство IQueryable Users в UserManager. (Он уже реализован в ночных пакетах 1.1-alpha1)