2016-09-08 11 views
0

クレーム情報を保存していないため、 "AspNetUserClaims"テーブルをデータベースから削除しました。IDスロー "そのテーブルを削除した後に無効なオブジェクト名 'dbo.AspNetUserClaims'"が返される

ユーザーを作成した後、私は、そのユーザー名でユーザー情報を取得しようとしていますし、それがエラーを返します:アイデンティティ2、Entity Framework-backed UserStore will ensure the claims are loaded for the requested userののUserManagerクラスで

"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

これは、データベースにそのテーブルが含まれていない場合に例外をスローするAspNetUserClaimsテーブルにアクセスします。

ライブラリで必要なテーブルを削除しないでください。または、要求部分を除いてライブラリを再構築してください。後者は公式チャンネルからのアップデートをもう受信せず、手動でパッチを適用する必要があるため、後者をしたくないです。これは、セキュリティ関連のライブラリ、または一般的にそのライブラリを扱う方法ではありません。

+1

もちろん、ライブラリを再構築するということは、新しいバージョンが出てくるたびに手作業でパッチを当てなければならないということです。セキュリティ関連ライブラリのための良い考えではない –

関連する問題