Поделиться через


Образец Impersonation

Изменения: 5 декабря 2005 г.

Образец Impersonation демонстрирует, как пользоваться олицетворением для использования учетных данных, переданных клиентом, в получении доступа к защищенным ресурсам операционной системы, например файлам, если используется встроенная безопасность. По умолчанию учетные данные учетной записи, под которой работает SQL Server, используются, когда вы получаете доступ к подобным ресурсам.

ms160785.note(ru-ru,SQL.90).gifПримечание.
Эта форма олицетворения не влияет на доступ к таблицам и другим защищенным ресурсам SQL Server, если только не производится доступ к другому серверу базы данных (SQL Server или любого другого типа) через ADO.NET. В этом случае для передачи учетных данных на удаленный сервер необходимо произвести олицетворение при выполнении метода Open для соединения. Нет необходимости в олицетворении во время других вызовов ADO.NET.

Этот образец также демонстрирует, как производится доступ к сведениям о файлах, содержащимся в каталоге, при помощи функции CLR, возвращающей табличное значение.

Каталог установки: диск:\Program Files\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\Impersonation\

Сценарий

Джейн — разработчик базы данных Adventure Works Cycles. Ей нужно получать доступ к сведениям о файлах в каталоге на сервере, используя учетные данные, переданные от клиента.

Языки

Transact-SQL, Visual C# и Visual Basic.

Возможности

Образец Impersonation использует следующие возможности SQL Server.

Часть образца Возможности

Все части

Среда CLR, безопасность

Предварительные требования

Прежде чем запустить этот образец, убедитесь, что установлено следующее программное обеспечение.

  • Microsoft SQL Server 2005 или Microsoft SQL Server 2005 Express Edition (SQL Server Express). SQL Server Express можно получить бесплатно на веб-узле «Документация и образцы SQL Server 2005 Express Edition».
  • База данных AdventureWorks, включенная в поставку SQL Server 2005, также доступна в центре разработчиков SQL Server.
  • Образцы компонента SQL Server 2005 Database Engine. Данные образцы входят в комплект SQL Server 2005. Последнюю версию образцов можно загрузить в центре разработчиков на SQL Server.
  • Пакет .NET Framework SDK 2.0 или среда Microsoft Visual Studio 2005. Пакет .NET Framework SDK можно получить бесплатно. См. раздел Установка пакета .NET Framework SDK.

Построение образца

Если файл ключа ExternalSampleKey.snk для строгого имени еще не создан, создайте его следующим образом.

Создание файла ключа для строгого имени

  1. Откройте командную строку среды Microsoft Visual Studio 2005. В меню Пуск последовательно укажите Все программы, Microsoft Visual Studio 2005, Средства Visual Studio и выберите пункт Командная строка Visual Studio 2005.

    -или-

    Откройте командную строку Microsoft .NET Framework. Нажмите кнопку Пуск, последовательно укажите пункты Все программы, Microsoft .NET Framework SDK v2.0 ив выберите пункт Командная строка пакета SDK.

  2. Для перехода из текущей папки в папку «Samples» в командной строке используйте команду смены каталога (CD).

    ms160785.note(ru-ru,SQL.90).gifПримечание.
    Для определения папки, в которой находятся образцы, нажмите кнопку Пуск, последовательно укажите пункты Все программы, Microsoft SQL Server 2005, Документация и учебные материалы и выберите пункт Каталог образцов. Если использовался каталог установки по умолчанию, образцы будут расположены в каталоге «<system_drive>:\Program Files\Microsoft SQL Server\90\Samples».
  3. Для создания файла ключа выполните следующую команду в командной строке:

    sn -k ExternalSampleKey.snk

    ms160785.note(ru-ru,SQL.90).gifВажно!
    Дополнительные сведения о паре ключей для строгого имени см. в разделе «Краткие сведения о безопасности: строгие имена и безопасность в платформе .NET Framework» в центре разработчиков .NET в MSDN.

Построение образца Impersonation

  1. Скомпилируйте образец в среде Visual Studio 2005 с помощью поставляемого решения Visual Studio или программы Microsoft MSBuild, которая включена в пакет .NET Framework SDK 2.0. В окне командной строки выполните следующую команду:

    msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\ Impersonation.sln

  2. Убедитесь, что база данных AdventureWorks установлена.

  3. Если образцы ядра SQL Server не установлены в каталог по умолчанию, измените путь в разделе сценария CREATE ASSEMBLY в файле Scripts\InstallCS.sql, чтобы указать местоположение образцов.

  4. Если вы не являетесь администратором используемого экземпляра сервера SQL Server, то для завершения установки необходимо, чтобы администратор предоставил разрешение CreateAssembly.

  5. Откройте в среде Microsoft SQL Server Management Studio файл scripts\installCS.sql или scripts\installVB.sql (в зависимости от типа проекта: Visual C# или Visual Basic). Выполните содержащийся в этом файле сценарий или выполните в командной строке следующую команду:

    sqlcmd -E -I -i Scripts\InstallCS.sql

Выполнение образца

Выполнение образца Impersonation

  1. В папке «Мои Документы» создайте папку Test.

  2. При помощи Блокнота создайте в этой папке пустой текстовый файл.

  3. Настройте параметры безопасности папки в диалоговом окне Свойства, открываемого из проводника Windows.

    1. Используйте кнопку Дополнительно на вкладке Безопасность, чтобы отключить наследование настроек безопасности папки от ее родительского каталога.
    2. Используйте режим Копировать, чтобы скопировать настройки безопасности родительского каталога.
    3. Добавьте самого себя как пользователя с полными правами доступа к этой папке.
    4. Удалите всех остальных пользователей.
  4. Откройте файл scripts\test.sql в среде Management Studio или в Блокноте. Измените файл таким образом, чтобы вместо вызова метода GetEnvironmentVariable в инструкции SELECT @TestDir в качестве значения переменной @TestDir была указана постоянная строка. Код должен быть аналогичен следующему.

    SELECT @TestDir = 'C:\Documents and Settings\имя_пользователя\My Documents\Test\'

    Замените имя_пользователя вашим именем пользователя.

Выполните сценарий в среде Management Studio или сохраните измененный файл в Блокноте, после чего в командной строке выполните следующую команду.

sqlcmd -E -I -i Scripts\test.sql

Удаление образца

Удаление образца Impersonation

  1. В среде Management Studio откройте файл scripts\cleanup.sql. Выполните содержащийся в этом файле сценарий или выполните в командной строке следующую команду:

    sqlcmd -E -I -i Scripts\cleanup.sql

Примечания

Чтобы этот образец работал правильно, должна быть включена среда CLR для SQL Server 2005 или SQL Server Express.

Образцы предназначены только для обучения. Они не предназначены для использования в рабочей среде и не тестировались в ней. Корпорация Майкрософт не предоставляет техническую поддержку для этих образцов. Образцы приложений и сборок не следует соединять или использовать с рабочей базой данных SQL Server или с сервером отчетов без разрешения системного администратора.

См. также

Другие ресурсы

The SqlContext Object

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

5 декабря 2005 г.

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