2011-12-19 8 views
1

SharePoint Webpart内の現在のActive DirectoryのURLを調べる方法はありますか?私はURLを持っている場合はSharepoint内のWebPart内にActive Directory URLを取得

、私は、現在のユーザーの資格情報を使用してADへのアクセスを作成するには、このコンストラクタを使用することができます。

new DirectoryEntry(<URL>, null, null, AuthenticationTypes.Secure)); 

私はこのURLをpropertryがここでどこかに隠されて見つけるかもしれませんか?

 SPSite sc = new SPSite(SPContext.Current.Site.ID); 
     ServerContext context = ServerContext.GetContext(sc); 
     UserProfileManager profileManager = new UserProfileManager(context); 
     ... 

または構成ファイル内の前のパラメータを指定せずに(AD読み取る権限を持つ)現在のユーザーを使用して、ADへの接続を作成するための他の任意の動的な方法はありますか?

答えて

1

あなたはSPWebApplicationに人々ピッカーの設定を抽出できます。

SPWebApplication.PeoplePickerSettings.SearchActiveDirectoryDomains

を使用すると、フォールバックとしてグローバルカタログを使用することができ、指定なしのドメインが存在しない場合:

GlobalCatalog gc = Forest.GetCurrentForest().FindGlobalCatalog(); 
DirectoryEntry entry = new DirectoryEntry("GC://" + gc.Name)); 
+0

のthnxお返事のために。 SearchActiveDirectoryDomainsには管理者権限が必要ですか? – mrtns

+0

いいえ、構成データベースに関連付けられたエンドユーザーのアクセス許可はありません。 SPWebApplicationにはシステムアカウントの資格情報が読み込まれます。 SearchActiveDirectoryDomainsは、Webアプリケーションオブジェクトの「一部」です。 – Stefan

+0

もう1つ質問がありますが、私はあなたに2番目のケースで "GC://"プロトコルを使用していることがわかります。 "LDAP://"コールが必要な場合はどうすれば動作しますか?これは、現在のサイトにLDAPプロバイダが指定されておらず、ユーザーがグローバルカタログから取得されていることを意味しますか? – mrtns

関連する問題