我们在 Azure 应用服务上部署了 Web 应用程序。我们的数据库也在 Azure 上,配置为使用 AAD 身份验证(我们已分配 AAD 管理员)。
我们在 Web 应用程序中使用下面的连接字符串来使用下面的连接字符串连接到该服务器和数据库。
数据源=xxxxxx.database.windows.net;初始
目录=xxxxxxx;保留安全信息=False;身份验证=活动
目录集成
请注意:通过本地系统使用时,此连接字符串工作正常。但是,当我们在 Azure 应用服务中使用此 conn 字符串时,出现以下错误:
无法验证活动中的用户 NT Authority\Anonymous Logon
目录(身份验证=ActiveDirectoryIntegrated)。错误代码
0x4BC; state 10 指定的域名格式无效
根据您的描述,我发现您使用的是Active Directory 集成身份验证.
要使用集成 Windows 身份验证,域的 Active Directory 必须与 Azure Active Directory 联合。连接到数据库的客户端应用程序(或服务)必须在用户域凭据下的加入域的计算机上运行
如果您将 Web 应用程序发布到 Azure,则 Azure 的 Web 应用程序服务器将不会位于您域的 Active Directory 中。所以SQL Server不会通过auth。
我建议你可以尝试使用活动目录密码验证而不是 Active Directory 集成身份验证。
使用 azure AD 用户名和密码替换连接字符串,如下所示。效果会很好。
Server=tcp:brandotest.database.windows.net,1433;Initial Catalog=bradnotestsql;Persist Security Info=False;User ID={your_username};Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication="Active Directory Password";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)