1. ホーム
  2. c#

[解決済み] ASP.NET Identity 2.0 で現在のユーザー ID を取得する。

2023-05-13 13:02:44

質問

Identity Frameworkの新しいバージョン2.0の使用に切り替えたところです。 1.0では、ユーザーオブジェクトを取得するために manager.FindByIdAsync(User.Identity.GetUserId()) . その GetUserId() メソッドは2.0では存在しないようです。

今、私が理解できるのは manager.FindByEmailAsync(User.Identity.Name) で、usersテーブルのusernameフィールドを参照することです。 私のアプリケーションでは、これはemailフィールドと同じに設定されています。

私は、誰かが自分の電子メールを更新する必要があるときに、これが問題を引き起こすのを見ることができます。変更されない値に基づいて、現在ログインしているユーザー オブジェクトを取得する方法はありますか? (たとえば、id フィールド) を取得する方法はありますか?

どのように解決するのですか?

GetUserId() の拡張メソッドです。 IIdentity であり、それは Microsoft.AspNet.Identity.IdentityExtensions . で名前空間を追加したことを確認してください。 using Microsoft.AspNet.Identity; .