現在ログインしているユーザーのIDを取得する方法については、さまざまなRCのASP.NETコアでさまざまな回答が寄せられています。ここで明確な質問をしたかったのです。Entity Frameworkコアで現在のユーザーIDを取得する適切な方法
using Microsoft.AspNet.Identity;
using System.Security.Claims;
User.GetUserId();
しかし、新しくリリースされたバージョンと:「1.0.0」
をRC1では、あなたはこのような何かを行うことができます:それproject.jsonは今「Microsoft.AspNetCore.Identity.EntityFrameworkCore」がありますのでご注意くださいEF Coreの1、Microsoft.AspNet.Identityは正しいバージョンではありません。
ちょうど現在ログインしているユーザーを取得するためにたくさんのように思えるのUserManagerを使用する提案がありました:
private Task<ApplicationUser> GetCurrentUserAsync() => _userManager.GetUserAsync(HttpContext.User);
var user = await GetCurrentUserAsync();
var userId = user?.Id;
私が見つけたもう一つの方法:
private readonly UserManager<ApplicationUser> _userManager;
_userManager.GetUserId(User)
だから、ASPとは。 NET Core 1 RTMとEF Core 1をproject.jsonの以下のライブラリと組み合わせて、現在ログインしているユーザのIDを取得する適切な方法は何ですか?あなたは、データベースへのラウンドトリップを作っているようあなたは、ユーザーのIDを取得するためにのUserManagerを使用して、コントローラをwithingからこれをアクセスしている場合
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
"Microsoft.AspNetCore.Mvc": "1.0.0",
質問タイトルにタグを入れないでください! http://stackoverflow.com/help/tagging – Tseng