Доступ к базе данных с помощью ASP.NET
Ядром любого приложения баз данных является база данных. Для использования базы данных необходимо иметь надежный и безопасный способ подключения. На платформе .NET этот способ реализуется с помощью пространства имен System.Data и одной строки подключения.
Учтите, что доступ к данным связан с рядом трудностей. Одна из них заключается в том, что пользователь может не иметь прав доступа к базе данных, включая выполнение запроса на выборку данных. Еще одна часто возникающая проблема связана с сохранением имен и паролей пользователей в простом текстовом файле, который обычно не отображается Web-сервером для внешних пользователей. Например, при просмотре кода ASP-страницы очень редко можно встретить следующие строки:
>Set Conn = Server.CreateObject("ADODB.Connection")
>Conn.Open("server=myServerName;uid=sa;pwd=")
В примерах данной главы используется параметр TRUSTED_CONNECTION = YES, который означает применение надежного подключения, т.е. пользователь должен быть идентифицирован операционной системой Windows, а аутентифицирующая информация о нем должна храниться в SQL Server. В большинстве практических приложений в SQL Server не принято создавать отдельные учетные записи ASP.NET, если только не требуется ограничить возможности пользователя лишь операциями выборки данных.
Учетная запись ASP.NET используется по умолчанию при анонимных Web-запросах к Web-серверу с инсталлированной средой выполнения платформы .NET.
Включение учетной записи ASP.NET в состав учетных записей SQL Server
Для создания надежного подключения (на основе параметра TRUST необходимо иметь учетную запись операционной системы Windows, которую следует включить в состав учетных записей SQL Server. Кроме того, SQL Server должен быть сконфигурирован так, чтобы разрешалось использовать аутентификацию операционной системы Windows. Хотя большая часть этого процесса уже описана в предыдущей главе, он рассматривается здесь более подробно для демонстрации прямой связи между управлением учетной записью ASP.NET в SQL Server и использованием надежного подключения на основе параметра TRUSTED_CONNECTION. В данном примере рассматривается редкий случай создания отдельной учетной записи ASP.NET в SQL Server для ограничения возможностей пользователя только операциями выборки данных.
1. Откройте программу SQL Server Enterprise Manager, выбрав команду Start→Microsoft SQL Server→Enterprise Manager. Раскройте узел используемой базы данных и узел Security (Безопасность), как показано на рис. 11.1.
Рис. 11.1. Выбор узла Security в программе SQL Server Enterprise Manager
2. Щелкните правой кнопкой мыши на элементе Logins (Учетные записи) и выберите в контекстном меню команду New Login (Создать учетную запись). На экране появится диалоговое окно SQL Server Login Properties – New Login (Свойства учетных записей SQL Server – Создать учетную запись), как показано на рис. 11.2.
РИС. 11.2. Диалоговое окно SQL Server Login Properties – New Login
3. Во вкладке General (Общие свойства) в текстовом поле Name (Имя) укажите учетное имя пользователя, выбрав его с помощью щелчка на кнопке с многоточием либо введя в формате имя_компьютера/имя_пользователя или имя_домена/имя_пользователя. На рис. 11.3 показан пример выбора учетного имени пользователя после щелчка на кнопке с многоточием.