2010-12-01 5 views
0

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

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

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

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

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

Когда я впервые опубликовал проект, я получил сообщение об ошибке в моем web.config, который сказал «ApplicationServices» уже было определено, не давая мне доступ к любой странице сайта. Я «фиксированной» это в манере, которая будет называться «Hacky», только если кто-то пытается быть вежливым - я добавил «<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" /> 

Любые идеи?

ответ

0

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

This post автор Scott Guthrie объясняет, что, вероятно, происходит, и как настроить ApplicationName у ваших поставщиков.