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 来查询用户并执行相关的逻辑。

相关内容

热门资讯

wepoke有挂!wepowe... wepoke有挂!wepower透视辅助,(AAPoKER)真是有挂(详细透视透明挂教程);精心打造...
wepoke有辅助挂!德扑之星... wepoke有辅助挂!德扑之星怎么查数据,线上德州ai智能机器人,AI教程(有挂总结)1.wepok...
微扑克辅助挂!德扑概率计算软件... 相信很多朋友都在电脑上玩过微扑克辅助挂吧,但是很多朋友都在抱怨用电脑玩起来不方便。为此小编给大家带来...
wpk透视辅助工具!wpk德州... 您好,wpk透视辅助工具这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家...
德州AI智能辅助机器人!pok... 德州AI智能辅助机器人!pokerworld软件,(wePOKE)固有存在有挂(详细辅助细节方法),...
德扑数据软件!wpk线上德州俱... 德扑数据软件!wpk线上德州俱乐部,微扑克系统发牌规律,切实教程(有挂技巧);无聊就玩这款微扑克系统...
微扑克wpk透视辅助!红龙扑克... 1、微扑克wpk透视辅助!红龙扑克怎么看底牌,(aapokER)果然有挂(详细辅助可靠教程);详细教...
wpk透明挂!aa扑克平台,e... wpk透明挂!aa扑克平台,epoker外挂,细节方法(有挂方法)1)wpk透明挂辅助挂:进一步探索...
aapoker发牌机制!德扑之... aapoker发牌机制!德扑之星开房间教程,(云扑克德州)竟然真的有挂(详细辅助2025新版);揭秘...
wepoke有辅助挂!wpk微... wepoke有辅助挂!wpk微扑克俱乐部,wepoke防外挂,线上教程(有挂透明)您好,wepoke...