Вы должны выйти в AD для этой информации. Но подключиться к AD в ASP.NET Core не просто.
Если вы собираетесь запускать это только на сервере Windows, вы можете установить Microsoft.Windows.Compatibility
из NuGet и использовать DirectoryEntry
привязать непосредственно к объекту, используя его SID. SID доступен в context.User.Identity.User.Value
.
<AuthorizeView>
@{
var identity = (WindowsIdentity) context.User.Identity;
var user = new DirectoryEntry($"LDAP://<SID={identity.User.Value}>");
//Add any other attributes you want to read to this list
user.RefreshCache(new [] { "givenName" });
}
Hello, @user.Properties["givenName"].Value!
</AuthorizeView>
Другие атрибуты, которые могут вас заинтересовать:
sn
: Фамилия displayName
: Как их имя отображается в Outlook, например. Часто это «Последний, Первый»