c# - Razor 页面内当前登录的用户属性访问
问题描述
我正在使用 .net 核心,我想访问 Razor 页面内部(ExternalLogin.CS.html)中当前登录的用户属性,并基于用户属性我想重定向到不同的页面。但我无法访问里面的用户剃须刀页面。
public async Task<IActionResult> OnGetCallbackAsync(string returnUrl = null, string remoteError = null)
{
returnUrl = returnUrl ?? Url.Content("~/");
if (remoteError != null)
{
ErrorMessage = $"Error from external provider: {remoteError}";
return RedirectToPage("./Login", new {ReturnUrl = returnUrl });
}
var info = await _signInManager.GetExternalLoginInfoAsync();
if (info == null)
{
ErrorMessage = "Error loading external login information.";
return RedirectToPage("./Login", new { ReturnUrl = returnUrl });
}
// Sign in the user with this external login provider if the user already has a login.
var result = await _signInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent:false, bypassTwoFactor : true);
if (result.Succeeded)
{
//if (user.verifiedPhone)
//{
// return LocalRedirect("/Identity/Account/Manage");
//}
_logger.LogInformation("{Name} logged in with {LoginProvider} provider.", info.Principal.Identity.Name, info.LoginProvider);
return LocalRedirect("/Customer/ProjectsApiKey/");
}
if (result.IsLockedOut)
{
return RedirectToPage("./Lockout");
}
我已经厌倦了一些针对相同问题的答案,但在 .net core Move 中。它不适用于我的 Razor 页面。
var user = _userManager.GetUser(HttpContext.User);
请提供任何建议以访问 Razor 中的当前登录用户
解决方案
推荐阅读
- c# - Unity gameObject.SetActive 未启用其对象
- azure-aks - 如何在 AKS 中查询每个容器的 CPU 和内存使用情况?
- c# - 我想使用预定义的 ContentDialog(在 MainPage 上)显示在 AppWindow 内。这个怎么做?
- css - 调整 SVG 引导图标的大小
- python - python电报机器人ForceReply回调
- javascript - HTML 表单动作在第一个按钮上触发
- git - 创建分支并将提交从 Main 移动到 Branch
- python - 没有功能的打印输出
- php - 如何使用Sql AS关键字重命名表列Codegniter4 query()方法
- python - 代码给出语法错误并给出 KeyboardInterrupt