我使用Visual Web Developer 2010 Express创建了一个小型Web应用程序。在我部署了我的网站并转到第一页,即提供应用程序用户列表的登录页面后,出现此错误:Membership.GetAllUsers()System.Data.SqlClient.SqlException:用户没有执行此操作的权限
异常详细信息: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;
这里是我的ConnectionStrings设置:
<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 Server上开发它,并在同一台机器上测试它的部署。
这听起来像您的连接字符串指定的用户没有权限从users表中进行选择。 – 2013-04-10 20:38:13
@JeremyHolovacs我正在开发和测试同一台机器上的部署。当我在Visual Web Developer中调试它时,它工作正常。我需要用SQL Server Express来获得许可才能工作? – massaskillz 2013-04-10 20:54:39
您使用SSPI(可信连接)吗?我将在您的应用程序服务数据库上创建一个具有读/写访问权限的Sql User帐户,并在连接字符串中使用该凭证。 – 2013-04-10 20:56:13