【发布时间】:2015-07-04 08:55:59
【问题描述】:
我在 MVC 5 中设置授权时遇到问题。我有一个带有个人用户帐户的全新 MVC 5 网站和一个带有五个 aspNet... 表的 SQL Server 数据库。
我可以在本地登录,在我的本地服务器上一切正常,当我将本地连接字符串指向生产服务器时,我什至可以从本地网站登录生产数据库,但我无法从网站上的网站登录生产服务器,
我收到以下错误:
在建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)
仅当我在必须登录的操作上使用 [Authorize] 时才会发生错误,如果我删除 [Authorize] 操作和数据库工作正常。
任何想法
编辑
为了清楚起见,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 中设置了许多使用相同配置的网站,它们运行良好。
【问题讨论】:
-
检查您的连接字符串是否正确。我不认为它是。 Authorize 注释导致应用程序尝试连接到 ASP 身份表以验证用户身份。它无法访问数据库。
-
如果我在本地使用相同的连接字符串连接到在线数据库并且我可以登录,它也适用于其他表,如果我删除授权其余表工作正常。跨度>
标签: asp.net-mvc-5 authorization