2016-09-08 5 views
0

Я удалил таблицу« AspNetUserClaims »из моей БД, потому что я не сохраняю информацию о претензиях.Идентификация бросает «Недопустимое имя объекта» dbo.AspNetUserClaims »после удаления этой таблицы

После создания пользователя я пытаюсь получать информацию о пользователе по имени пользователя и возвращает ошибку:

"Invalid object name 'dbo.AspNetUserClaims'.".

IdentityResult result = await manager.CreateAsync(user, model.Password);    
if (result.Succeeded) 
{ 
    var userInfo = manager.FindByName(user.UserName); 
    foreach (var myRole in myRoles) 
    { 
     manager.AddToRole(userInfo.Id, myRole.Name); 
    } 
    await AddToPreviousPasswordsAsync(user, user.PasswordHash); 
} 
+2

_ «Я удалил заднюю половину своей машины, потому что в ней никто не сидит. библиотека требует? – CodeCaster

+0

@CodeCaster Спасибо за ответ. Мое намерение состоит в том, чтобы знать, как и откуда извлекаются данные. – Chaitanya

+0

Изменение библиотек, связанных с безопасностью, не является хорошей идеей, даже если кто-то точно знает, как они работают. –

ответ

2

В классе UserManager идентичности 2, Entity Framework-backed UserStore will ensure the claims are loaded for the requested user.

Доступ к таблице AspNetUserClaims, которая генерирует исключение, если ваша база данных не содержит эту таблицу.

Просто не удаляйте таблицы, которые требуются библиотеке, или перестраивайте библиотеку без части претензии. И вы не хотите делать последнее, потому что тогда вы больше не будете получать никаких обновлений с официального канала и должны вручную их исправлять. Это не способ обрабатывать библиотеку, связанную с безопасностью, или, как правило, любую библиотеку.

+1

Конечно, перестройка библиотеки означает, что нужно вручную исправлять ее каждый раз, когда выходит новая версия. Не очень хорошая идея для библиотек, связанных с безопасностью –

 Смежные вопросы

  • Нет связанных вопросов^_^