Asp.net core identity framekwork:如何获取当前登录 [HttpPost] 公共异步任务上载(格式化文件) { //var info=await _signInManager.getexternallogininfosync(); //var user=await_userManager.FindByIdAsync(user.Identity.GetUserId()); //var user=await_userManager.FindByIdAsync(_userManager.GetUserId(Request.HttpContext.user)); //var user=user.Identity.GetUserId(HttpContext.user);_userManager.GetUserId(Request.HttpContext.user); //var user1=等待GetCurrentUserAsync(); //var userId=用户?.Id; var filePath=Path.GetTempFileName(); var stream=files.OpenReadStream(); var name=files.FileName; 字节[]文件数据=已读(流); 返回内容(“上传错误”); }
我有这个行动方法。我已经创建了登录操作,其结果是成功。 我正在尝试获取当前登录用户的ID,但我无法获取该ID。我尝试了50种方法,但一次又一次失败 需要帮助Asp.net core identity framekwork:如何获取当前登录 [HttpPost] 公共异步任务上载(格式化文件) { //var info=await _signInManager.getexternallogininfosync(); //var user=await_userManager.FindByIdAsync(user.Identity.GetUserId()); //var user=await_userManager.FindByIdAsync(_userManager.GetUserId(Request.HttpContext.user)); //var user=user.Identity.GetUserId(HttpContext.user);_userManager.GetUserId(Request.HttpContext.user); //var user1=等待GetCurrentUserAsync(); //var userId=用户?.Id; var filePath=Path.GetTempFileName(); var stream=files.OpenReadStream(); var name=files.FileName; 字节[]文件数据=已读(流); 返回内容(“上传错误”); },asp.net-core,asp.net-identity,asp.net-core-2.0,identityserver4,Asp.net Core,Asp.net Identity,Asp.net Core 2.0,Identityserver4,我有这个行动方法。我已经创建了登录操作,其结果是成功。 我正在尝试获取当前登录用户的ID,但我无法获取该ID。我尝试了50种方法,但一次又一次失败 需要帮助 感谢您的支持,我想您忘记添加HttpContext.user了 [HttpPost] public async Task<IActionResult> Upload(IFormFile files) { //var info = await _sign
感谢您的支持,我想您忘记添加HttpContext.user了
[HttpPost]
public async Task<IActionResult> Upload(IFormFile files)
{
//var info = await _signInManager.GetExternalLoginInfoAsync();
//var user = await _userManager.FindByIdAsync(User.Identity.GetUserId());
//var user = await _userManager.FindByIdAsync(_userManager.GetUserId(Request.HttpContext.User));
//var user = User.Identity.GetUserId(HttpContext.User); _userManager.GetUserId(Request.HttpContext.User);
//var user1 = await GetCurrentUserAsync();
//var userId = user?.Id;
var filePath = Path.GetTempFileName();
var stream = files.OpenReadStream();
var name = files.FileName;
byte[] fileData = ReadFully(stream);
return Content("Error in uploads");
}
你已经尝试了50种方法,但没有一种你提到它是如何失败的。如果你真的需要帮助的话,你的问题中的信息太少了。请阅读:很可能是因为你的用户没有经过认证,我想他没有尝试任何东西。没有实际的代码,只有一些注释行。听起来好像没有正确读取cookie。您的控制器顶部是否设置了[authorize]?
var user = await _userManager.GetUserAsync(HttpContext.User);
if (user == null) return View("Error");