我需要在这里澄清一下。我正在尝试验证 IEnumerable 对象中的字符串中的组。代码如下:
// Makes a call to Microsoft Graph
var group = await graphClient.Me.TransitiveMemberOf
.Request()
.Header("ConsistencyLevel", "eventual")
.GetAsync();
// Gets all AD Groups that are assigned to me
IEnumerable<AzureADGroupInfo> allADGroups = JsonConvert.DeserializeObject<IEnumerable<AzureADGroupInfo>>(JsonConvert.SerializeObject(group));
//This filters the group that I Need
IEnumerable<AzureADGroupInfo> relevantADGroups = allADGroups.Where(t => t.DisplayName.Contains("Admin"));
this.SetUserCompany(relevantADGroups);
在 allADGroups 中,大约有 10 个与我关联的组,但我想要的一个组是管理员组。在调试中,Admin 组存在于 allADGroups 变量中,但无论出于何种原因,在 where 子句中查找 t.DisplayName.Contains("Admin") 时都找不到它。 revelantADGroups 变量返回 null。据我了解,这应该能够在 IEnumerable 中找到该组显示名称。我在这里误解了什么?
在 Azure AD Graph API 中,在 REST 响应中,displayName 属性应为驼峰命名法(而不是“DisplayName”),否则将找不到。