Пользователи ASP.NET MVC не копируются при публикации - PullRequest
0 голосов
/ 01 декабря 2010

Я новичок в ASP.NET MVC и пытаюсь преобразовать очень простое приложение ASP.NET в MVC с авторизацией.

У меня это работает локально, просто отлично, но когда я публикую в IIS, база данных пользователей, очевидно, не копируется правильно (даже если она работает на той же машине, на которой я ее разрабатываю)

Похоже, это не проблема доступа к базе данных, поскольку, когда я создаю нового пользователя с помощью ссылки «Регистрация», я могу войти в систему очень хорошо. Проблема в том, что все пользователи (и связанные с ними роли), которые я создал с помощью инструмента администрирования веб-сайта ASP.NET, не распознаются. Сообщение об ошибке, которое он мне выдает - это просто «логин или пароль неверны» - нет ничего о невозможности получить доступ к базе данных или что-то в этом роде.

Кто-нибудь знает, где мне искать источник этой проблемы, или кто-то еще имел эту проблему раньше?

Потенциально полезная дополнительная информация:

Когда я впервые опубликовал проект, в моем файле web.config появилась ошибка, в которой говорилось, что «ApplicationServices» уже определен, и я не могу получить доступ к любой странице сайта. Я «исправил» это способом, который можно было бы назвать «хакерским», только если кто-то пытался быть вежливым - я добавил «<remove name="ApplicationServices" />» прямо над ним, чтобы часть web.config выглядела так:

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

Есть идеи?

1 Ответ

0 голосов
/ 01 декабря 2010

Роли и пользователи разделены по ApplicationName. Проверьте таблицу aspnet_Applications и сравните ее с тем, что вы видите в aspnet_Roles и aspnet_Users.

Этот пост Скотта Гатри объясняет, что, вероятно, происходит, и как настроить ApplicationName на ваших провайдерах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...