簡體   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