簡體   English   中英

如何從WCF服務訪問Active Directory

[英]how to access Active directory from WCF service

我被要求在WCF中創建服務,其中輸入是用戶EMAIL-ID。 我的服務器中有很多可用域。 我的WCF服務托管在xxx域中。

I need to get all yyy groups (Domain groups) for the user whose email matches.

問題:1.是否可以從C#連接到Active Directory?2.如何從C#獲取用戶組。 3.僅用於用戶驗證,與Active Directory無關。 (在廣告組中進行簡單搜索)

由於我是新手,所以即使我不知道它在C#中也是可行的。 對此,盡早答復是非常有意義的。 提前致謝。

System.DirectoryServices.AccountManagement命名空間正是您所需要的。

這是一些應該幫助您入門的代碼。

using System;
using System.DirectoryServices.AccountManagement;

namespace TestADCSharp
{
    class Program
    {
        static void Main(string[] args)
        {
            PrincipalContext p = new PrincipalContext(
                ContextType.Domain,
                "your.domain"
            );

            UserPrincipal u = new UserPrincipal(p);
            u.EmailAddress = "your@search.email";

            PrincipalSearcher ps = new PrincipalSearcher(u);
            PrincipalSearchResult<Principal> results = ps.FindAll();

            foreach (Principal r in results)  {
                PrincipalSearchResult<Principal> groups = r.GetGroups();

                Console.WriteLine("Groups:");
                foreach (Principal g in groups) {
                    Console.WriteLine("\t" + g.Name);
                }
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM