繁体   English   中英

在C#上从Active Directory获取全名

[英]Get fullname from Active Directory on C#

我有一个关于从Active Directory获取用户的名字和姓氏(全名)的问题。 代码如下。

在本地运行项目没有问题。 我可以随心所欲地获取数据。 将项目发布到远程服务器后,它不允许我获取名字和姓氏(全名),而仅允许获取域名和用户名。 我该如何解决?

private string GetNameSurname()
    {
        string[] retVal;
        //Pull the username out of the domain\user string.  
        retVal = Page.User.Identity.Name.Split(new string[] { @"\"},StringSplitOptions.RemoveEmptyEntries);

        DirectoryEntry userEntry = new DirectoryEntry("WinNT://" + retVal[0] + "/" + retVal[1]);
        string namesurname = (string)userEntry.Properties["fullname"].Value;
        //return retVal[1];
        //retVal[1] gives username. 
        //retVal[0] gives domain name
        return namesurname;
    }

您是否正在运行代码以测试同一用户?

您是否要在开发人员中针对AD进行测试,Windows本地帐户具有“全名”字段(可选),但是在AD中,这些字段的名称不同。 另外,您是否在谈论相同版本的AD。

根据MSDN文章 ,没有名为“全名”的字段,只有“名字,姓氏和显示名”。

我认为您的问题与凭证有关。 连接到活动目录时,尝试添加管理员用户名和密码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM