Я создал небольшое веб-приложение с помощью Visual Web Developer 2010 Express. После того, как я развернул свой сайт и перешел на первую страницу, которая является страницей входа в систему, которая предоставляет список пользователей для приложения, я получаю эту ошибку:Memberhip.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. –
@JeremyHolovacs Я разрабатываю и тестирую развертывание на одной машине. Он работает, когда я отлаживаю его в Visual Web Developer. Что мне нужно сделать с SQL Server Express, чтобы получить разрешение на работу? – massaskillz
Используете ли вы SSPI (надежные подключения)? Я бы сделал учетную запись пользователя Sql в базе данных ваших приложений с доступом для чтения/записи и использовал эти учетные данные в вашей строке подключения. –