0

我在从 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;
    }
4

2 回答 2

1

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

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

根据MSDN 文章,没有名为 Full Name 的字段,只有 First Name 和 Surname 和 Display Name。

于 2012-09-19T14:15:20.583 回答
0

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

于 2012-09-19T14:15:33.223 回答