Использование SqlProfileProvider

SqlProfileProvider позволяет сохранять информацию профилей в базе данных SQL Server 7.0 или более поздних версий. Вы можете создать таблицы профилей в любой базе данных. Однако вы не можете изменить никаких других деталей схемы базы данных, то есть вы привязаны к определенным именам таблиц, столбцов и форматам сериализации.

От начала до конца вам следует пройти следующие шаги:

  1. Создать таблицы профиля.
  2. Конфигурировать поставщика.
  3. Определить некоторые свойства профиля.
  4. Включить аутентификацию для определенной части Web-сайта.
  5. Использовать свойства профилей в коде Web-страницы.

В последующих разделах мы разберем каждый из этих шагов.

Создание таблиц профилей

Чтобы создать таблицы профилей, необходимо применить утилиту командной стpoки aspnet_regsql.ехе — тот же инструмент, который позволяет генерировать базы данных для других средств ASP.NET, таких как состояние сеанса на базе SQL Server, членство, роли, кэш-зависимости базы данных и персонализация Web Parts. Утилиту aspnet_regsql.ехе можно найти в папке с:\[WinDir]\Microsoft.NET\Framework\[Version].

Чтобы добавить таблицы, представления и хранимые процедуры, необходимые для профилей, используется опция командной строки -А р. Единственные детали, которые нужно указать помимо этой — местоположение сервера (-S), имя базы данных (-d) и информация аутентификации для подключения к базе данных (используйте -U и -Р для указания имени и пароля пользователя или -Е, чтобы использовать текущую учетную запись Windows). Если не указывать местоположение сервера и имя базы данных, то aspnet_regsql использует экземпляр по умолчанию на текущем компьютере, а также создает базу по имени aspnetdb.

Рассмотрим пример, создания базы данных aspnetdb с именем по умолчанию на текущем компьютере, посредством подключения к базе данных от имени учетной записи Windows:

aspnet_regsql.exe -А р -Е

В табл. 24.1 перечислены названия таблиц, которые создает aspnet_regsql.ехе. (Некоторые редко используемые представления не включены.)

На заметку! Даже если вы не используете имя базы данных по умолчанию (aspnetdb), вы все же должны применить для этой цели новую пустую базу данных, в которой нет никаких других таблиц. Это объясняется тем, что aspnet_regsql.ехе создает несколько таблиц для профилей (см. табл. 24.1), и вам не стоит рисковать смешивать их c бизнес-данными. Все последующие примеры этой главы предполагают, что используется база aspnetdb.

 

предыдущая    следующая страница    вначало главы    оглавление

959

Hosted by uCoz