首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从ASP.NET页面获取当前登录的Windows帐户?

如何从ASP.NET页面获取当前登录的Windows帐户?
EN

Stack Overflow用户
提问于 2013-04-24 14:17:53
回答 8查看 94.5K关注 0票数 23

我有一个使用ASP.NET forms身份验证的ASP.NET 3.5应用程序。当在页面中编辑数据时,我希望能够获得当前登录到计算机的Windows用户名(不是登录到ASP.NET应用程序,而是登录到Windows)。

如果我使用Context.User.Identity.Name.Tostring(),我将获得登录到ASP.NET应用程序的用户名,但我需要Windows帐户名。

System.Security.Principal.WindowsIdentity.GetCurrent().Name.Tostring()

此外,只有当我从Visual Studio运行网站时,它才能工作,但在部署到IIS后,它返回NT AUTHORITY\SYSTEM

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2013-04-24 14:26:14

您必须在配置中将身份验证模式设置为Windows,并在authorization标记中禁用匿名用户。

票数 17
EN

Stack Overflow用户

发布于 2013-04-24 14:24:46

要让当前登录的用户登录到Windows帐户,您必须使用Windows authentication而不是Forms authentication

只有当我从visual studio运行网站时,IIS System.Security.Principal.WindowsIdentity.GetCurrent().Name.Tostring()才能工作,但在部署到

后,它会返回NT AUTHORITY\SYSTEM

它显示应用程序的当前用户。当您在Visual Studio web服务器上承载应用程序时,它将使用您的本地帐户。但是,当您使用不同的凭据登录到web应用程序时,它将始终显示您当前的Windows登录。

在本例中,部署到IIS的应用程序使用NT AUTHORITY\SYSTEM帐户。

票数 10
EN

Stack Overflow用户

发布于 2016-03-29 20:23:34

要使当前登录的用户进入C#中的窗口,请使用:

string Username = System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16184685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档