我在从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;
}
答案 0 :(得分:1)
您是否正在运行代码以测试同一用户?
您是否在dev中测试AD,Windows本地帐户具有“全名”字段(可选),但在AD中,字段的命名方式不同。另外,你在谈论同一版本的AD吗?
根据MSDN article,没有名为Full Name的字段,只有First Name,Surname和Display Name。
答案 1 :(得分:0)
我认为你的问题与证书有关。在连接到活动目录时尝试添加管理员用户名和密码。