如果我的服务器中有一个Active Directory设置,其域名是" mydomain.com",我将为此创建LDAP DirectorySearcher。
string domainPath = "LDAP://mydomain.com";
DirectoryEntry entry = new DirectoryEntry(domainPath, "userName", "password");
DirectorySearcher searcher = new DirectorySearcher(entry);
如果我想为Office 365 Active Directory创建DirectorySearcher,那么domainPath是什么?
P.S:我使用' AzureADSync'
与Office 365同步了服务器的Active Directory答案 0 :(得分:0)
LDAP仅适用于本地Active Directory。
对于Azure Active Directory,您需要使用图形API(Microsoft Graph或Azure Active Directory Graph。有关如何在一个和另一个之间进行选择的信息,请参阅this link < / p>
您需要注册您的应用程序,根据您的目的设置正确的权限,并使用类似于此代码段的代码:
注意:此特定代码段会返回目录中的所有用户:
var authority = "https://login.microsoftonline.com/";
var resource = "https://graph.windows.net/";
var tenant = "mydomain.com";
var clientId = <YourClientID>;
var redirectUri = <YourRedirectUri>;
var ctx = new AuthenticationContext(authority + tenant);
var graphUri = resource + tenant;
var client = new ActiveDirectoryClient(new Uri(graphUri),
async () => {
var token = await ctx.AcquireTokenAsync(resource, clientId, new Uri(redirectUri), new PlatformParameters(PromptBehavior.Always));
return token.AccessToken;
});
var users = await client.Users.ExecuteAsync();
users.CurrentPage.Select(u => u.DisplayName).Dump();
这是a link to Azure AD Graph samples。这有关于应用注册,设置权限以及如何从不同平台/场景查询图表的说明。