如何在新的.net核心框架中获取Windows PC上的当前登录用户?
旧命名空间
System.DirectoryServices;
System.DirectoryServices.AccountManagement;
没有实施yeat :( 建议移植的库novell.ldap,但我仍然不明白如何获取有关用户的信息。
我从System.Security.Principal.WindowsIdentity.GetCurrent().Name
获得了简称
怎么得到全名?示例“Mary Ann”
答案 0 :(得分:0)
首先,ASP.NET Core可以在Linux和Mac上运行,在那里你根本没有“Windows”用户。
但即使您只在Windows上运行应用程序 - 您的意思是什么用户?如果您的网站在IIS后面的服务器上运行 - 而不是IIS作为服务启动,没有任何交互式用户,并且您的应用程序也在某个服务帐户下启动。
但是,如果您只在Windows下运行您的应用程序并且仅以交互方式运行(用户将启动dotnet run
或类似),那么最简单的方法是阅读环境变量USERDOMAIN
和USERNAME
。在命令提示符下运行set
,您将看到当前在会话中定义的所有环境变量。您可以通过Environment
课程阅读这些内容,也可以ConfigurationBuilder
中的AddEnvironmentVariables()
添加Startup.cs
。