gpt4 book ai didi

asp.net-mvc-3 - 如何在.net MVC 3 Intranet应用程序中获得用户的全名?

转载 作者:行者123 更新时间:2023-12-03 08:46:23 26 4
gpt4 key购买 nike

我有一个MVC 3 Intranet应用程序,该应用程序针对特定域执行Windows身份验证。我想呈现当前用户的名字。

在 View 中

@User.Identity.Name 

设置为 DOMAIN\Username,我想要的是他们的完整 Firstname Lastname

最佳答案

您可以执行以下操作:

using (var context = new PrincipalContext(ContextType.Domain))
{
var principal = UserPrincipal.FindByIdentity(context, User.Identity.Name);
var firstName = principal.GivenName;
var lastName = principal.Surname;
}

您需要添加对 System.DirectoryServices.AccountManagement程序集的引用。

您可以像这样添加Razor助手:

@helper AccountName()
{
using (var context = new PrincipalContext(ContextType.Domain))
{
var principal = UserPrincipal.FindByIdentity(context, User.Identity.Name);
@principal.GivenName @principal.Surname
}
}

如果您是从 View 而不是从 Controller 执行此操作,则还需要向web.config添加程序集引用:
<add assembly="System.DirectoryServices.AccountManagement" />

将其添加到 configuration/system.web/assemblies下。

关于asp.net-mvc-3 - 如何在.net MVC 3 Intranet应用程序中获得用户的全名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8900678/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com