ASP.NET内置用户身份验证生产连接字符串

时间:2015-05-04 20:04:02

标签: asp.net forms-authentication

我使用ASP.NET内置方法进行用户身份验证和成员身份,该方法使用存储在项目解决方案的App_Data文件夹中的SQL Server平面文件(.mdf)。

我在本地工作,但当我部署到虚拟专用服务器(VPS)时,我收到以下错误消息:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)

这是我的连接字符串:

<add name="DefaultConnection" connectionString="Data Source=IP_ADDRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;Connect Timeout=30 User ID=USERNAME;Password=PASSWORD" providerName="System.Data.SqlClient"/>

2 个答案:

答案 0 :(得分:0)

我没有为SQL Server使用本地.mdf文件,但请尝试以下操作:

<add name="DefaultConnection" connectionString="AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Connect Timeout=30;User ID=USERNAME;Password=PASSWORD" providerName="System.Data.SqlClient"/>

在本地尝试,看看它是否有效。如果它在本地工作,然后在您的VPS上尝试。我猜测对于本地文件,“集成安全性”并不重要。此外,您在;之前错过了User ID,我不确定为什么IP地址对本地文件很重要。

答案 1 :(得分:0)

修正了分号并仍显示相同的错误消息,但现在也是:

  

SQLExpress数据库文件自动创建错误:

     

连接字符串指定本地Sql Server Express实例   使用应用程序的App_Data目录中的数据库位置。   提供程序尝试自动创建应用程序   服务数据库因为提供者确定了数据库   不存在。以下配置要求是必需的   成功检查是否存在应用程序服务   数据库并自动创建应用服务数据库:

     

如果应用程序在Windows 7或Windows Server上运行   2008R2,需要特殊配置步骤才能启用自动   创建提供者数据库。其他信息可用   at:http://go.microsoft.com/fwlink/?LinkId=160102。如果   应用程序的App_Data目录尚不存在,即Web   服务器帐户必须具有对应用程序的读写访问权限   目录。这是必要的,因为Web服务器帐户将   如果还没有,则自动创建App_Data目录   存在。如果应用程序的App_Data目录已存在,则为Web   服务器帐户只需要读取和写入权限   应用程序的App_Data目录。这是必要的,因为网络   服务器帐户将尝试验证Sql Server Express   数据库已存在于应用程序的App_Data目录中。   从Web服务器撤消对App_Data目录的读访问权限   帐户将阻止提供商正确确定是否   Sql Server Express数据库已经存在。这将导致错误   当提供程序尝试创建已经的副本时   现有数据库。由于Web服务器,因此需要写访问权限   创建新数据库时使用帐户的凭据。 SQL   必须在计算机上安装Server Express。流程标识   对于Web服务器帐户,必须具有本地用户配置文件。见   自述文档,了解有关如何为其创建本地用户配置文件的详细信息   机器和域帐户。