Мастер установки ASP.NET SQL Server - PullRequest
0 голосов
/ 11 мая 2009

У меня есть веб-проект asp.net, над которым я работаю, и выяснил, что мои роли и тому подобное хранятся в файле .mdf. Читая о попытке подключиться к нему через SQL Management Studio (используя SQLExpress 2005), я обнаружил эту статью:

https://help.maximumasp.com/SmarterTicket/Customer/KBArticle.aspx?articleid=878

Теперь, мой вопрос - я должен это делать? Я собираюсь загрузить веб-сайт хостинг-провайдеру по завершении и хотел бы, чтобы процесс был максимально плавным.

Как правило, можно просто переместить файл MDF на сервер вместе с веб-сайтом или лучше хранить информацию внутри самого SQL Server? У меня уже есть БД для сайта ... Могу ли я интегрировать информацию о роли asp.net в свою собственную БД, чтобы у меня была только одна БД для управления?

Спасибо за чтение, ~~ Kolten

1 Ответ

1 голос
/ 11 мая 2009

Использование поставщика членства ASP.NET является правильным способом управления вашими учетными данными пользователей. Загрузка файла MDF представляет риск того, что кто-то сможет получить ваш файл MDF, а затем получить все данные о ваших пользователях. Хранение этого в базе данных SQL, предоставленной вашей хостинговой средой, обычно будет более безопасным, при условии, что детали соединения не будут скомпрометированы, и вы не подвергаете себя атакам SQL-инъекций, а ваш провайдер также не подвергает себя Атаки SQL-инъекций.

Информация об участии может храниться в той же базе данных, что и остальная часть вашего приложения, до тех пор, пока имя таблицы не конфликтует с таблицами членства. Вы можете создать необходимые таблицы, указав сведения о подключении к базе данных в командной строке aspnet_regsql.

Внутри вашего файла web.config вам нужно будет изменить roleManager и провайдеров членства, чтобы вы могли указать строку подключения для использования. т.е.

<system.web>
    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
      <providers>
        <remove name="AspNetSqlRoleProvider" />
        <add name="AspNetSqlRoleProvider" connectionStringName="MembershipSQLConnectionString"
             applicationName="/"
             type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
      </providers>
    </roleManager>
</system.web>
...