MVC 5 SQL网络接口,错误:26 - 错误,[授权]

时间:2015-05-12 06:35:46

标签: asp.net-mvc-5 authorization

我在MVC 5中设置授权时遇到问题。我有一个全新的MVC 5网站,其中包含个人用户帐户和一个带有五个aspNet ...表的SQL Server数据库。

我可以在本地登录,它在我的本地服务器上工作正常,当我在生产服务器上指向本地连接字符串时,我甚至可以从本地网站登录生产数据库,但我无法从网站登录在生产服务器上,

我收到以下错误:

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

只有在我必须登录的Action上使用[Authorize]时才会出现错误,如果我删除[Authorize] Action并且数据库工作正常。

任何想法

修改

为了清楚起见,SQL Server位于Arvixe服务器之一,而Godaddy的网站是我的连接字符串

<add name="mysiteEntities"
connectionString="metadata =
res://*/Models.mysite.csdl|res://*/Models.mysite.ssdl|res://*/Models.mysite.msl;
provider = System.Data.SqlClient;
provider connection string ='
data source = xxxxx.arvixe.com;
Initial Catalog = mysite;
User ID = xxxxxx;
Password = xxxxxxx'"
providerName="System.Data.EntityClient" />

我无法使用此字符串从Godaddy登录,但如果我在本地计算机上使用此字符串,则可以登录。

我还在MVC 4中设置了许多具有相同配置的网站,这些网站运行良好。

2 个答案:

答案 0 :(得分:3)

我有类似的问题;但是,我错误地认为我没有使用EF和SQL Server,而是围绕Oracle 11g使用Telerik Data Access。根据这篇文章(http://blog.luppes.com/2013/12/08/mvc5-authentication-roles-failure/

,修复它对我来说是删除配置文件中的RoleManager模块

所以,为后代解释这个链接,它是:

<system.webServer>
  <modules>
    <remove name="RoleManager" />
  </modules>
</system.webServer>

答案 1 :(得分:0)

我解决了这个问题,但它让我提出一个新的问题,即我挥手致意。对于这个问题,我在这里引用了错误的基本连接。

public ApplicationDbContext()
    : base("DefaultConnection", throwIfV1Schema: false)
{
}

现在的问题是我需要两个连接字符串才能连接。一个用于授权,因为MVC5需要一个 Code First 连接字符串,但我的其余代码是数据库优先

相关问题