我需要从Web应用程序连接到Power BI XMLA端点,我正在使用Adomd.Net AdomdClient库。
通常,如果您从客户端应用程序调用{{1}},则会显示一个UI,以允许用户登录。我相信MSOLAP提供程序会执行此操作。显然,这不适用于Web应用程序,因为对话框将在服务器上弹出。
如果我尝试通过Web或控制台应用程序致电AdomdConnection.Open()
,我会收到一条异常消息:
身份验证失败:用户界面不可用时,需要用户ID和密码。足够公平!
这需要允许MFA,所以遗憾的是我不能只将名称/密码放在连接字符串中。如果我尝试我会得到一个例外的说法 无法使用提供的凭据获取身份验证令牌。如果您的Active Directory租户管理员已配置了多重身份验证,或者您的帐户是Microsoft帐户,请从连接字符串中删除用户名和密码,然后重试。然后,系统会提示您输入凭据。
我想要,但是由于我不是客户端应用程序,因此无法正常工作。
我以为我可以在Azure上注册一个应用程序并为其授予用户模型/数据的委派读取权限,但是似乎没有这样的权限。
我的计划是通过将用户发送到Open()
来登录,一旦重定向到我,我可以添加:
https://login.windows.net/common/oauth2/v2.0/authorize
到连接字符串。
我已经为Azure SSAS做到了这一点,并且工作正常,但是由于没有"Password=" + securityToken
范围,我认为这是不可能的。
有人知道该怎么做吗?