Я пытаюсь развернуть приложение asp.net. Я действительно сосу это.
В любом случае, его части защищены с помощью проверки подлинности с помощью форм SqlMembershipProvider
. Я настроил поставщика членства для использования экземпляра сервера SQL через Web.Config.
Я могу использовать инструмент «Конфигурация ASP.NET» через Visual Studio для создания новых пользователей. Это, кажется, работает нормально и создает новую строку в таблице базы данных для каждого пользователя.
Затем я могу войти в защищенные зоны, используя вновь созданные учетные данные.
Все это прекрасно работает на сервере отладки разработки Visual Studio.
Проблема возникает, когда я развертываю ее на сервере. После копирования всего дерева каталогов (включая Web.Config) для проекта на сервер и попытки входа в систему, используя точно такие же учетные данные, сообщает: «Ваша попытка входа не удалась. Пожалуйста, попробуйте снова . "
Как это возможно?
Тьфу, я ненавижу развертывание.
Обновление
Я добавил следующий код на страницу входа. Когда я нажимаю на страницу, размещенную на сервере, учетные данные могут использоваться на сервере для входа в систему.
protected void CreateAdminButton_Click(object sender, EventArgs e)
{
System.Web.Security.Membership.DeleteUser("admin");
System.Web.Security.Membership.CreateUser("admin", "asdfasdf", "admin@email.com");
}
Новая запись администратора видна в той же базе данных. Учетные данные администратора не могут быть использованы для входа в систему с компьютера разработчика. Это говорит о том, что мне нужен какой-то алгоритм хеширования ключей, использующий разные ключи на сервере и в окне разработчика.