2017-06-06 76 views
1

如何在新的.NET核心框架中获取当前登录的用户在Windows PC上?如何让核心获得当前的用户信息?

旧的命名空间

System.DirectoryServices; 
System.DirectoryServices.AccountManagement; 

没有实现yeat :( 奉劝移植库novell.ldap,但我还是不明白如何获取有关用户的信息。

我从System.Security.Principal.WindowsIdentity.GetCurrent().Name获得短名称 如何获取全名?示例“Mary Ann”

回答

0

首先,ASP.NET Core可以在Linux和Mac上运行,根本没有“Windows”用户。

但即使您只在Windows上运行您的应用程序 - 您指的是什么用户?如果您的网站在IIS后面的服务器上运行 - 而不是以任何交互式用户身份启动IIS作为服务,并且您的应用程序也在某个服务帐户下启动。

但是,如果你将只能运行在Windows下,只有交互您的应用程序(用户将开始dotnet run或类似),那么最简单的方法 - 阅读环境变量USERDOMAINUSERNAME。在命令提示符处运行set,您将看到当前在会话中定义的所有环境变量。您可以通过Environment类阅读,也可以在Startup.cs中加上ConfigurationBuilderAddEnvironmentVariables()

+0

只有windows用户 –

+0

不知道ASP.NT,但您可以使用:https://en.wikipedia.org/wiki/SPNEGO获取假设LDAP实现支持此类操作的信息。 (即不只是Windows)。 – jwilleke

相关问题