C# 如何使用Azure AD令牌自动验证从WPF应用程序连接到Azure SQL Server:避免防火墙
现在,我开发了一个WPF应用程序,可以访问Azure SQL Server并在Windows10平板电脑中为我的客户端工作 我注册了用于开发的PC的客户端IP地址,因此应用程序可以访问正在开发的sql server。 但它在其他网络的平板电脑上不起作用。我知道,我也必须注册它的ip地址 现在我有一个问题。。当然,我的客户使用自己的网络,我无法确认他使用的ip地址! 为了解决这个问题,我尝试使用带有令牌的Azure AD autehntiation。 (请参阅,等等) 我的应用程序成功地在我的PC上使用Azure AD authentication登录以进行开发,但在其他网络中它仍然失败 这是否意味着我必须在任何身份验证方法中注册应用程序工作的ip地址? (如果是,这意味着所有用户都必须告诉开发者自己的ip地址。不行!!) 或者我需要允许此应用程序的所有ip地址范围C# 如何使用Azure AD令牌自动验证从WPF应用程序连接到Azure SQL Server:避免防火墙,c#,azure,active-directory,azure-sql-database,azure-sql-server,C#,Azure,Active Directory,Azure Sql Database,Azure Sql Server,现在,我开发了一个WPF应用程序,可以访问Azure SQL Server并在Windows10平板电脑中为我的客户端工作 我注册了用于开发的PC的客户端IP地址,因此应用程序可以访问正在开发的sql server。 但它在其他网络的平板电脑上不起作用。我知道,我也必须注册它的ip地址 现在我有一个问题。。当然,我的客户使用自己的网络,我无法确认他使用的ip地址! 为了解决这个问题,我尝试使用带有令牌的Azure AD autehntiation。 (请参阅,等等) 我的应用程序成功地在我的PC
我希望您的帮助,谢谢如果我正确理解您的问题,有两个问题: 1。如何确保开发人员计算机可以访问Azure SQL数据库? 对此,别无选择。您必须启用要从中访问Azure SQL数据库的IP地址(或地址范围)。如果不允许,您将无法连接到它 您可以在创建SQLAzure实例时启用此功能,也可以在以后需要时配置这些IP地址 如果你问我什么是最好的方法,我建议使用你当地的SQL Server进行开发。这样,您就不需要配置所有网络中的所有IP地址。这也是非常方便的,因为您的机器上有数据库 如果您使用的是中央数据库,并且许多人都在使用它,那么您可以选择安装开发团队可用的SQL Server 或者,如果您对使用Azure SQL进行开发感兴趣(我不建议这样做),那么您也可以尝试设置代理服务,只将请求转发给Azure SQL。这样可以确保所有请求都来自一个IP 2。如何确保部署的应用程序始终能够访问Azure SQL数据库? 这取决于应用程序的部署方式。如果应用程序将部署在Azure中,那么您可能希望启用从其他Azure服务到Azure SQL实例的访问。这也是您可以在创建SQL Azure数据库时启用的设置,也可以在创建SQL Azure实例后对其进行配置 如果应用程序不在Azure上,但数据库在Azure上,则必须更新防火墙以允许来自应用程序的连接
我希望这能为您提供足够的见解,以了解您的解决方案。您的应用程序是否也托管在Azure中?如果是这种情况,那么如果您允许从其他Azure服务连接到Azure SQL数据库,您的客户端将不需要任何进一步的配置。谢谢您的回答!我将我的应用程序注册为Azure AD的本机应用程序,并授予对sql server的访问权,并获得了密钥。我认为使用此密钥的应用程序(exe)可以访问sql server,从而避免防火墙。这不对吗?如何将本机应用程序“托管”到Azure?