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

同じユーザーをテストするコードを実行していますか?

dev で AD に対してテストしていますか? Windows ローカル アカウントにはフル ネーム フィールド (オプション) がありますが、AD ではフィールドの名前が異なります。また、同じバージョンの AD と話しているのですか。

MSDN の記事によると、氏名と呼ばれるフィールドはなく、名と姓と表示名のみです。

于 2012-09-19T14:15:20.583 に答える
0

あなたの問題は資格情報に関するものだと思います。Active Directory に接続するときに、管理者のユーザー名とパスワードを追加してみてください。

于 2012-09-19T14:15:33.223 に答える