0

Новичок для ASP.NET.Назначение базы данных аутентификации пользователей/форм ASP.NET

В Visual Studio 2010 Ultimate я создал новый веб-сайт ASP.Net 3.5, а затем добавил аутентификацию форм, используя элементы панели инструментов, опущенные на страницу. После создания нового пользователя, использующего эти элементы управления, в моей тестовой среде была создана база данных, называемая ASPNETDB.MDF внутри папки App_Data проекта.

Я также внесли изменения в эту базу данных путем добавления таблиц, чтобы я получить доступ в коде из веб-форм на сайте, используя строку соединения:

Data Source=.\SQLEXPRESS;AttachDbFilename=C|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True 

Теперь я готов поставить сайт на моем веб-хостинга , 1and1.com. Я создал базу данных в панели управления 1 и 1. На страницах справки 1and1 говорит, чтобы использовать строку соединения, как ниже для подключения к 1and1 размещается база данных сервера SQL:

server=mydbHostName.db.1and1.com; initial catalog=mydbName;uid=mydbUser;pwd=mydbPassword 

Я испытал это соединение и может создавать и таблицы доступа, используя эту строку соединения.

Мой вопрос в том, как сообщить об аутентификации форм для использования этой новой базы данных на сервере 1and1?

ответ

1

Это все в вашем файле web.config. Вы должны увидеть то, что выглядит как:

<membership defaultProvider="DefaultMembershipProvider"> 
     <providers> 
     <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" <snip> applicationName="/" /> 
     </providers> 
    </membership> 

The connectionStringName указывает на строку подключения, определенной в разделе ConnectionStrings - просто убедитесь, что вы измените свойство в Membership Provider, чтобы соответствовать имени, используемого для строки подключения (или наоборот).

+0

Спасибо. Для выполнения этой работы мне нужно импортировать (или создавать) базу данных на сервер 1 и 1. Есть простой способ сделать это? 1and1 может принимать файл .bak. Я попытался создать SQL-скрипт для создания схемы на сервере 1and1, но столкнулся с ошибками «конфликтов сортировки», которые трудно отследить. Опять же, есть ли простой способ сделать это? – MindSpiker

+0

Наконец-то он заработал. Для других, кто пытается получить аутентификацию ASP-форм или схему базы данных-члена на сервере 1and1, сначала запустите C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regsql.exe -S mydbHostName.db.1and1.com -sqlexportonly script .sql -A all -d mydbName -U mydbUserID -P mydbPassword с вашей информацией вместо параметров «mydb ...». Затем откройте созданный файл script.sql. Затем скопируйте и вставьте его содержимое в Query Analyzer внутри инструментов базы данных, затем нажмите «Отправить», подождите минуту и ​​так далее. – MindSpiker

0

Ну, это действительно другой вопрос, но в любом случае - вы можете создать резервную копию базы данных с помощью команды BACKUP через SSMS или щелкнув правой кнопкой мыши по базе данных в SSMS и выбрать «Резервное копирование» из меню «Задачи» - это создаст ваш .bak, который вы можете загрузить в 1and1, используя FTP. Затем зайдите в их менеджер SQL или подключитесь к экземпляру SQL Server с помощью SSMS (я не пользователь 1and1, но большинство хостов позволяют вам подключиться с использованием учетных данных SQL Server из вашей учетной записи хостинга) и восстановить базу данных из .bak файл. Не рассматривая ваш сценарий и конфигурацию SQL Server 1and1, я не мог сказать вам, почему у вас были ошибки сортировки - может быть разница между SQLExpress (который является стандартом для управления профилем ASP.Net) и любой версией SQL Server 1and1 работает , Возможно, у вас нет привилегий создания базы данных на сервере 1 и 1, не переходя через их веб-инструмент. После того, как у вас есть база данных, подключенная к серверу 1 и 1, ваше приложение должно подключиться с помощью строки подключения, которую они предоставили, - просто убедитесь, что вы правильно указали местоположение сервера и имя базы данных.

Смежные вопросы