既存のMySQLデータベース用のWeb API C#アプリケーションを作成する必要があります。私はEntity Framework 6を使用して、すべてのデータベーステーブルをRESTful API (CRUD操作を許可する)にバインドしました。DB-First認証のASP.NET Web API 2 + EF6との混乱
私は、ログイン/登録システムを実装したいと思います(将来的に役割と権限を実装し、特定のAPIリクエストを制限できるように)。
id
email
username
password_hash
:私が使用する必要がMySQLデータベースには、次の自明の列があります(
user
と呼ばれる)ユーザーのためのテーブルを持っています
認証の事実上の標準はASP.Net IDであるようです。私はアイデンティティを既存のDB-First Entity Frameworkセットアップと連携させる方法を見つけようと、最後の1時間を費やしました。
私は、ユーザーのデータを取得するためにuser
インスタンス(MySQLデータベースからのエンティティ)を格納ApplicationUser
インスタンスを構築しようとすると、私は次のエラーを取得する:
The entity type ApplicationUser is not part of the model for the current context.
私は私がアイデンティティデータを格納する必要があると仮定私のMySQLデータベースは、どのようにそれを行うにはリソースを見つけることができませんでした。 ApplicationUser
クラスを完全に削除し、エンティティクラスをIdentityUser
から派生させましたが、UserManager.CreateAsync
を呼び出すと、LINQ to Entitiesの変換エラーが発生しました。
既存のuser
エンティティを持つWeb API 2アプリケーションで認証を設定するにはどうすればよいですか?あなたのDBスキーマ以来
ありがとう、これは私が探していたものです。申し訳ありませんが私の質問が不明な場合、私はASP.NETアイデンティティの "役割"に混乱していた。 –
あなたは歓迎です。実装に何か問題がある場合は、ここでコメントすることをためらってください –
ちょっと、上のコードのuserServiceオブジェクトは何か教えてください。私のDBコンテキストに接続し、私のカスタムユーザをDBから返すカスタムクラスオブジェクトですか?ユーザーはIUserなどの後に継承する必要はありませんか? – Savail