You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 6 MVC如何获取Windows域用户名在视图中展示

ASP.NET Core 6 MVC 极简获取Windows域用户名方案

不需要搭建完整身份认证体系,补全缺失的配置即可直接在视图中读取域用户名,总配置量不超过5行:

  • 补全Program.cs的服务注册逻辑
    你目前只添加了认证授权中间件,没有提前注册对应认证服务,在var app = builder.Build();代码前追加以下内容:
    using Microsoft.AspNetCore.Authentication.Negotiate;
    
    builder.Services.AddAuthentication(NegotiateDefaults.AuthenticationScheme)
        .AddNegotiate();
    builder.Services.AddAuthorization();
    
  • 确认中间件顺序
    你已添加的app.UseAuthentication();、app.UseAuthorization();必须放在路由映射、端点配置代码(比如app.MapControllerRoute())之前,顺序错误会导致认证逻辑不执行。
  • 校验launchSettings.json配置
    不要只在iisSettings根节点配置认证开关,要确认iisSettings.iisExpress节点下同样设置"windowsAuthentication": true、"anonymousAuthentication": false,本地IIS Express调试才会生效。

配置完成后不需要额外写控制器传值逻辑,直接在视图中用你熟悉的代码就能拿到域用户名:

@User.Identity.Name

返回值格式为域名\登录用户名,直接渲染展示即可。

常见踩坑提示:如果部署时用Kestrel自托管而非IIS托管,需要在Kestrel的端点配置中显式开启Negotiate认证,本地调试用IIS Express不需要额外配置。

内容的提问来源于stack exchange,提问作者Justin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 13:36:22