2017-06-06 73 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

相關問題