ASP.NET MVC 5: 現在の ApplicationUser の取得
ASP.NET MVC 5 の ID フレームワークで現在ログインしている ApplicationUser にアクセスするには、以下が必要です具体的なアプローチ。昔のメンバーシップ メカニズムとは異なり、Identity はユーザー データを操作するための一貫したインターフェイスを提供します。
ApplicationUser オブジェクトの取得
現在の ApplicationUser の完全なオブジェクトを取得するには、データベースに直接クエリを実行しないでください。代わりに、提供されている API を使用します:
var user = UserManager.FindById(User.Identity.GetUserId());
非同期アクションの場合は、
var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
次の using ステートメントが含まれていることを確認してください:
using Microsoft.AspNet.Identity;
ユーザー ID へのアクセス
コントローラーの外部では、ユーザー ID
System.Web.HttpContext.Current.User.Identity.GetUserId();
シナリオ: ApplicationDbContext および UserManager へのアクセス
アカウント コントローラーを使用していない場合は、これらのプロパティとコンストラクター コードをコントローラー:
protected ApplicationDbContext ApplicationDbContext { get; set; } protected UserManager<ApplicationUser> UserManager { get; set; } public YourController() { this.ApplicationDbContext = new ApplicationDbContext(); this.UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(this.ApplicationDbContext)); }
Azure データベース考慮事項
リモート Azure データベース接続で Identity Framework を使用すると、「エラー: 19 - 物理接続は使用できません」というメッセージが表示される場合があります。これを解決するには、プロジェクトにカスタム SqlAzureExecutionStrategy を実装します。
以上がASP.NET MVC 5で現在ログインしているApplicationUserを取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。