Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 Membership.GetAllUsers()System.Data.SqlClient.SqlException:用户没有执行此操作的权限_Asp.net Mvc 3_Asp.net Membership_Connection String_Visual Web Developer 2010 - Fatal编程技术网

Asp.net mvc 3 Membership.GetAllUsers()System.Data.SqlClient.SqlException:用户没有执行此操作的权限

Asp.net mvc 3 Membership.GetAllUsers()System.Data.SqlClient.SqlException:用户没有执行此操作的权限,asp.net-mvc-3,asp.net-membership,connection-string,visual-web-developer-2010,Asp.net Mvc 3,Asp.net Membership,Connection String,Visual Web Developer 2010,我使用VisualWebDeveloper2010Express创建了一个小型web应用程序。在部署我的站点并转到第一个页面(即提供应用程序用户列表的登录页面)后,我收到以下错误: 异常详细信息:System.Data.SqlClient.SqlException:用户没有执行此操作的权限 源错误: Line 22: public ActionResult LogOn() Line 23: { Line 24: var users = Me

我使用VisualWebDeveloper2010Express创建了一个小型web应用程序。在部署我的站点并转到第一个页面(即提供应用程序用户列表的登录页面)后,我收到以下错误:

异常详细信息:System.Data.SqlClient.SqlException:用户没有执行此操作的权限

源错误:

Line 22:         public ActionResult LogOn()
Line 23:         {
Line 24:             var users = Membership.GetAllUsers().Cast<MembershipUser>().ToList();
Line 25:             SelectList usernames = new SelectList(users);
Line 26:             ViewBag.UserNames = usernames;
第22行:公共操作结果登录()
第23行:{
第24行:var users=Membership.GetAllUsers().Cast().ToList();
第25行:SelectList用户名=新的SelectList(用户);
第26行:ViewBag.UserNames=用户名;
以下是我的连接字符串设置:

<connectionStrings>
   <add name="ApplicationServices"
     connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
     providerName="System.Data.SqlClient" />
</connectionStrings>


为什么会发生此错误?非常感谢您提供的任何帮助。我目前正在Windows 2008服务器上开发它,并在同一台计算机上测试它的部署。

我发现我的连接字符串存在问题。它是为用户实例设置的,根据此Microsoft:

在IIS 7.5上运行并依赖SQL Server的Web应用程序 快速用户实例将无法使用默认的IIS 7.5运行 Windows 7客户端和Windows服务器上的安全配置 2008 R2

本文还建议避免在生产环境中使用用户实例。我发现这有助于我在普通的。\SQLExpress实例中托管数据库。我将连接字符串更改为:

<connectionStrings>
    <add name="ApplicationServices"
     connectionString="Database="app_users";Data Source=.\SQLEXPRESS;Initial Catalog=app_users;Integrated Security=SSPI;"
     providerName="System.Data.SqlClient"/>
</connectionStrings>

在更改上述连接字符串之前,我将SQL Server Express中的aspnetdb.mdf文件附加到我创建的名为“app_users”的新数据库中


我不再获得权限错误。

我发现我的连接字符串存在问题。它是为用户实例设置的,根据此Microsoft:

在IIS 7.5上运行并依赖SQL Server的Web应用程序 快速用户实例将无法使用默认的IIS 7.5运行 Windows 7客户端和Windows服务器上的安全配置 2008 R2

本文还建议避免在生产环境中使用用户实例。我发现这有助于我在普通的。\SQLExpress实例中托管数据库。我将连接字符串更改为:

<connectionStrings>
    <add name="ApplicationServices"
     connectionString="Database="app_users";Data Source=.\SQLEXPRESS;Initial Catalog=app_users;Integrated Security=SSPI;"
     providerName="System.Data.SqlClient"/>
</connectionStrings>

在更改上述连接字符串之前,我将SQL Server Express中的aspnetdb.mdf文件附加到我创建的名为“app_users”的新数据库中


我不再收到权限错误。

这听起来像是您的连接字符串指定了一个没有权限从用户表中选择的用户。@JeremyHolovcs我正在同一台计算机上开发和测试部署。在Visual Web Developer中调试部署时,它会起作用。我需要如何使用SQL Server Express来获得工作权限?您是否使用SSPI(可信连接)?我将在您的application services数据库上创建一个具有读/写访问权限的Sql用户帐户,并在连接字符串中使用该凭据。这听起来像是您的连接字符串指定了一个没有权限从用户表中选择的用户。@JeremyHolovcs我正在同一台计算机上开发和测试部署。当我在Visual Web Developer中调试它时,它会工作。我需要如何使用SQL Server Express才能获得工作权限?您是否使用SSPI(受信任的连接)?我会在你的application services数据库上创建一个具有读/写访问权限的Sql用户帐户,并在你的连接字符串中使用该凭据。我面临着同样的问题。然后我只需删除连接字符串中的
User Instance=true
。哇,工作得很好。谢谢你的提示。+1我面临着同样的问题。然后我只需删除e
User Instance=true
在我的连接字符串中..哇哦,像个魔咒一样工作。谢谢你的提示。+1