我有一个 Excel 文件,其中有一个宏。我希望只有属于某个 Azure Active Directory 用户组成员的用户才能运行该宏。如何在 VBA 中编写 Azure 身份验证部分的代码?
非常感谢!
干杯, 艾伦
最佳答案
因此,对于 Azure AD,支持的客户端库/SDK 为 here您会注意到 VBA 不是其中之一。
VBA 语言方面是一个相当大的限制因素。我可能会尝试实现一个您从集成了 AAD 的 VBA 调用的 Web 端点/网站(应用服务可以帮助实现这一点),然后在响应中指示您的是/否或您的 VBA 代码要读取的组。
因此:VBA 代码通过 AAD 集成对网站进行 HTTP 调用(如果需要,用户登录),然后网站使用一些 JSON 或其他有效负载响应 VBA。 VBA 读取有效负载,然后执行相应操作。
该网站可以使用 Microsoft Graph 提取他们在 AAD 中拥有的所有成员资格。在这里使用图形浏览器:https://developer.microsoft.com/en-us/graph/graph-explorer并尝试这个端点:https://graph.microsoft.com/v1.0/me/memberOf
文档:https://learn.microsoft.com/en-us/graph/api/user-list-memberof?view=graph-rest-1.0&tabs=http
关于excel - 验证 Azure Active Directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62111616/