You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LabVIEW生成的.exe启动时反复弹出Azure身份验证窗口问题

解决LabVIEW编译.exe后Azure SQL MFA验证弹窗问题

可行方案:利用Windows凭据管理器缓存身份验证令牌

操作步骤

  • 打开控制面板 > 用户账户 > 凭据管理器 > Windows凭据
  • 点击「添加通用凭据」,输入以下信息:
    • 互联网或网络地址:AzureAD:<你的Azure SQL服务器FQDN>(示例:AzureAD:sqlservername.database.windows.net)
    • 用户名:你的Azure AD账户邮箱(示例:yourname@company.com)
    • 密码:留空无需填写
  • 在LabVIEW中保持UDL文件的连接选项为「Active Directory - Universal with MFA Support」
  • 编译.exe前,在数据库连接VI中添加Windows凭据调用逻辑:
    • 调用LabVIEW的Windows API函数库里的CredReadW接口,读取已存储的AzureAD凭据
    • 将读取到的身份信息注入ADO连接的Properties属性,覆盖默认弹窗触发逻辑

注意事项

  • 仅适用于Windows系统,依赖Windows凭据管理器功能
  • 首次运行.exe仍需手动完成MFA验证,后续启动会自动调用缓存的令牌,不再弹窗
  • 令牌存在有效期,过期后会再次触发验证,可通过LabVIEW定时调用CredRefresh接口实现自动刷新
  • 全程无需在UDL或代码中存储明文凭证,符合安全要求

替代方案(若权限允许)

如果能申请到Azure AD服务主体权限,可采用以下方式:

  • 创建Azure AD服务主体并为其分配SQL数据库的访问权限
  • 使用「Active Directory - Password」连接模式,通过服务主体的客户端ID和密钥完成连接(密钥存储在Windows凭据管理器中,避免明文暴露)

内容的提问来源于stack exchange,提问作者Nigel Fowlerton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 23:02:35