私のアプリケーションで基本認証を実装しようとしています。ユーザはpostgresqlデータベースに格納する必要があります。asp.netコア2.0アイデンティティエンティティフレームワークのユーザーが保存されません
ユーザーを作成できますが、どこに格納されているのかわかりません。私のデータベースには保存されていません。しかし、作成されたすべてのユーザーは、UserManager
から保存され、アクセス可能です。再起動後、作成されたユーザーはまだそこにいます。だから私のデータベースやメモリには格納されません。
私はこの部分を使って、エンティティフレームワークとの識別を有効にしました。
services.AddIdentity<User, Role>()
.AddEntityFrameworkStores<DatabaseContext>()
.AddDefaultTokenProviders();
User
とRole
クラスは単なるキータイプとしてGuid
でIdentityUser
とIdentityRole
から拡張しています。
私はnpgsql
をデータベースとして使用しています。
var connectionString = Configuration.GetConnectionString("DatabaseContext");
services.AddEntityFrameworkNpgsql()
.AddDbContext<DatabaseContext>(options => options.UseNpgsql(connectionString));
私はコントローラにMicrosoft.AspNetCore.Identity.UserManager<User>
を注入し、ユーザーを作成し、取得の場合:移行が正しく移行されているので、私はそれが働いているかなり確信しています。
なぜユーザーがデータベースに保存されていないのですか?
問題は、私のデータベースコンテキストが 'DBContext'から継承しているということでした。私は' IdentityDbContext'に変更しました。 –