ASP.NETCore5中的空User.Identity.Name
创始人
2024-09-17 12:00:50
0

在ASP.NET Core 5中,当用户未被成功验证时,User.Identity.Name 属性将为null,而许多开发人员需要在应用程序中使用 User.Identity.Name 属性来区分已验证用户和未授权用户。要解决这个问题,可以使用以下代码示例:

首先,在 Startup.cs 中添加以下配置:

services.Configure(options => { //设置要验证的方案,即在UseCookie后使用的方案 options.ForwardChallenge = "Identity.External"; });

接下来,在控制器的构造函数中注入 IHttpContextAccessor 和 IUserManager,并使用以下代码示例来获取用户名:

private readonly IHttpContextAccessor _httpContextAccessor; private readonly UserManager _userManager;

public MyController(IHttpContextAccessor httpContextAccessor, UserManager userManager) { _httpContextAccessor = httpContextAccessor; _userManager = userManager; }

public async Task Index() { var userName = _httpContextAccessor.HttpContext.User.Identity.Name; if (userName == null) { // 未授权 } else { var user = await _userManager.FindByNameAsync(userName); // 已验证用户 } // ... }

这里我们通过依赖注入获取 IHttpContextAccessor 和 IUserManager,然后使用 HttpContext.User.Identity.Name 属性来获取用户名。如果用户名为null,则表示用户未被成功验证。如果用户名不为null,则使用 IUserManager 来查询用户并执行相关的逻辑。

相关内容

热门资讯

科普透视!wepoker私人定... 科普透视!wepoker私人定制透视,we-poker辅助器,绝活儿教程(有挂方略)-哔哩哔哩1、科...
关于透视!佛手大菠萝有挂吗!切... 关于透视!佛手大菠萝有挂吗!切实是有辅助app(证实有挂)-哔哩哔哩运佛手大菠萝有挂吗辅助工具,进入...
普及透视!wepoker软件辅... 普及透视!wepoker软件辅助程序,悦扑克脚本,绝活儿教程(有挂详情)-哔哩哔哩进入游戏-大厅左侧...
解密透视!智星德州辅助译码插件... 解密透视!智星德州辅助译码插件靠谱吗!总是真的有辅助软件(真实有挂)-哔哩哔哩智星德州辅助译码插件靠...
详细透视!wepoker安装教... 详细透视!wepoker安装教程!其实存在有辅助方法(有挂规律)-哔哩哔哩1、游戏颠覆性的策略玩法,...
有挂透视!hhpoker到底可... 有挂透视!hhpoker到底可以作必弊吗,wepoker有人用过吗,模块教程(真实有挂)-哔哩哔哩进...
专业透视!智星菠萝辅助!本来真... 专业透视!智星菠萝辅助!本来真的是有辅助神器(有挂助手)-哔哩哔哩1、专业透视!智星菠萝辅助!本来真...
科普透视!wepoker有没有... 科普透视!wepoker有没有挂,hhpoker辅助软件是真的么,演示教程(有挂技巧)-哔哩哔哩hh...
总结透视!epoker免费透视... 总结透视!epoker免费透视脚本!总是存在有辅助技巧(竟然有挂)-哔哩哔哩1、epoker免费透视...
推荐透视!newpoker脚本... 推荐透视!newpoker脚本,wepoker有辅助插件吗,妙计教程(有挂实锤)-哔哩哔哩1、用户打...