我有一个 ASP.NET 应用程序,员工登录到 Windows,然后他们必须从一长串姓名中选择他们的姓名并登录到应用程序。
我想要做的是,一旦员工打开应用程序,它就会从下拉框中选择他们的名字。
我相信如果我可以在页面加载时获得 Windows 用户 ID,我可以让我的代码根据登录的 Windows 用户选择用户。
问题是。如何获取当前在 C# Asp.net 中登录的 Windows 用户 ID?有任何想法吗。
尝试这个:-
System.Web.HttpContext.Current.User.Identity.Name
也检查这个论坛。
更新:-
1) 请检查您是否在 IIS 中禁用了匿名模式
2)还要检查您是否已将应用程序设置为验证用户详细信息,如下所示:-
<authentication mode="Windows"/>
<authorization>
<allow users="*"/>
</authorization>
或像这样:-
<authentication mode="Windows" />
<authorization>
<deny users="?"/>
</authorization>
3)您可以在控制面板中配置 IIS,以便您的站点(或机器)使用 Windows 身份验证并拒绝匿名访问
我遇到了一个相关问题,我的本地构建将 WindowsIdentity.GetCurrent().Name.ToString() 值识别为我的 Windows 帐户名,但是当我通过服务器访问该网站时,它始终是“DefaultAppPool”。
通过执行以下操作,我能够使其工作:
从那里我能够辨别用户 ID/名称并继续我的编码。我不得不重新工作一点,但这是非常值得的。感谢您的建议!
在 ASP.NET Core .NET 6 中,我使用
环境.用户名;
// 或 // 以下仅适用于 Windows 平台
System.Security.Principal.WindowsIdentity.GetCurrent().Name ;