首页 > 解决方案 > 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#asp.net-mvcrazor

解决方案


推荐阅读