gpt4 book ai didi

c# - 仅从 Azure Active Directory 检索已启用的帐户

转载 作者:行者123 更新时间:2023-12-03 22:59:10 25 4
gpt4 key购买 nike

我可以使用 ActiveDirectoryClient 从 Azure Active Directory 获取所有用户。

有没有办法在 ASP.NET MVC 中仅从 Azure AD 获取启用的用户,或者在检索所有用户后,将其过滤为启用或禁用?

最佳答案

User 对象的 AccountEnabled bool 属性指示是否允许用户登录。该属性支持服务端过滤(在 User entity reference 的“支持”列中用“($filter)”表示)(因此无需进行客户端过滤)。

在以下示例中,我们迭代所有已启用的用户(graphClientActiveDirectoryClient 的实例):

// Iterates over all enabled users.
var users = await graphClient.Users.Where(u => u.AccountEnabled == true).ExecuteAsync();
do
{
foreach (var user in users.CurrentPage)
{
Console.WriteLine("Enabled user: {0}", user.UserPrincipalName);
}
users = await users.GetNextPageAsync();
} while (users != null);

如果您使用 Fiddler(或任何其他流量分析器),您将看到这会转换为对 Azure AD Graph API 的以下 GET 请求:

https://graph.windows.net/{tenant-id}/users()
?$filter=accountEnabled%20eq%20true
&api-version=1.6

进行过滤的部分(减去 URL 编码)是:

$filter=accountEnabled eq true

关于c# - 仅从 Azure Active Directory 检索已启用的帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39330654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com