Пошаговое руководство. Предоставление и отмена разрешений для решений Office (система 2003)
Обновлен: Ноябрь 2007
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
В этом пошаговом руководстве демонстрируются основы защиты в Visual Studio Tools for Office.
В этом руководстве описываются следующие задачи:
Удаление параметров защиты, установленных по умолчанию.
Добавление нового набора разрешений.
Обязательные компоненты
Для выполнения инструкций данного пошагового руководства необходимы следующие компоненты:
Visual Studio Tools for Office (необязательный компонент Visual Studio 2008 Professional и Visual Studio Team System).
Microsoft Office Excel 2003.
Создание проекта
На данном этапе создается проект книги Excel.
Создание нового проекта
Создайте проект книги Excel с именем Мой тест безопасности, используя шаблон проекта для Office 2003.
В этапах данного пошагового руководства предполагается, что проект сохранен в папке C:\Walkthroughs. Выберите в мастере Создать новый документ. Дополнительные сведения см. в разделе Практическое руководство. Создание проектов Visual Studio Tools for Office.
Visual Studio открывает созданную книгу Excel в конструкторе и добавляет проект Мой тест безопасности в Обозреватель решений.
Добавление кода в лист
Необходимо добавить в проект код, который можно выполнять для проверки корректности установки защиты. В данном пошаговом руководстве добавляется окно сообщений в событие инициализации листа.
Добавление окна сообщения в событие инициализации
Убедитесь, что в конструкторе Visual Studio открыта книга Мой тест безопасности.xls, и отображается Sheet1.
В Обозревателе решений щелкните правой кнопкой мыши Лист1.vb или Лист1.cs и выберите в контекстном меню команду Перейти к коду.
Добавьте приведенный ниже код в метод Startup класса Sheet1, чтобы во время инициализации выводилось окно сообщений.
Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Startup MessageBox.Show("Security settings are correct.") End Sub
private void Sheet1_Startup(object sender, System.EventArgs e) { MessageBox.Show("Security settings are correct."); }
Нажмите клавишу F5 для запуска проекта.
Excel запустится, и откроется окно сообщений.
Закройте окно сообщений.
Закройте Excel.
В конструкторе Visual Studio найдите и выберите вкладку книги Мой тест безопасности.xls.
Закройте Мой тест безопасности.xls (область конструктора листа Excel) в конструкторе Visual Studio.
Перед изменением политики безопасности необходимо закрыть все открытые экземпляры Excel.
При построении проекта книги Excel мастер добавляет новую группу кода безопасности и дочернюю группу кода в политику безопасности на уровне пользователя.
Теперь удалите группу кода, созданную мастером.
Удаление группы кода, созданной по умолчанию
Найдите и удалите группу кода, созданную по умолчанию.
Удаление группы кода
В панели управления откройте Средства администрирования.
Запустите средство Конфигурация платформы Microsoft .NET Framework 2.0.
Средство Microsoft .NET Framework 2.0 Configuration не включено в Visual Studio 2008. Его можно установить как часть пакета средств разработки .NET Framework 2.0, который можно найти в центре загрузки Майкрософт. Например, см. Пакет средств разработки NET Framework 2.0 (SDK) (x86).
В панели представления дерева последовательно разверните узлы Конфигурация .NET Framework 2.0, Мой компьютер, Политика безопасности среды выполнения, Пользователь, Группы кода, All_Code и VSTOProjects.
Это GUID для каждого создаваемого проекта. Разверните каждый GUID, чтобы увидеть путь к соответствующему документу.
Щелкните правой кнопкой мыши GUID для группы кода C:\Walkthroughs\Мой тест безопасности\Мой тест безопасности\bin\Мой тест безопасности.xls и нажмите в контекстном меню Удалить.
Появится диалоговое окно, требующее подтверждения удаления.
Нажмите кнопку Да.
Вернитесь в Visual Studio, затем нажмите клавишу F5 для запуска проекта "Мой тест безопасности".
Появится сообщение об ошибке, в котором сообщается, что текущая политика безопасности .NET не разрешает выполнение данной настройки.
Нажмите кнопку ОК.
Закройте Excel.
Сборка не будет выполняться при отсутствии явного разрешения в политике безопасности Microsoft .NET Framework.
Выдайте разрешение на эту сборку с использованием свидетельства строгого имени вместо URL-адреса.
Присвоение сборке строгого имени
Свидетельство строгого имени в целом обеспечивает большую безопасность по сравнению со свидетельством URL-адреса. Можно создать строгое имя и назначить его сборке в Visual Studio.
Создание строгого имени
В Visual Studio в меню Проект выберите пункт Свойства проекта "Мой тест безопасности".
Выберите вкладку Подписывание.
Выберите Подписать сборку.
В списке Выберите файл ключей строгого имени выберите Создать.
В диалоговом окне Создание ключа строгого имени введите в поле Имя файла ключей значение SecurityTestKey.
Снимите флажок Защитить мой файл ключей паролем.
Нажмите кнопку OК.
Файл ключей с именем SecurityTestKey.snk появится в обозревателе решений.
Чтобы построить сборку с этой парой ключей строгого имени, выберите в меню Построение пункт Построить решение.
Примечание. |
---|
Важно сохранять безопасность этого файла ключей. Обычно требуется защищать его паролем, а также предпринять меры для предотвращения доступа к этому файлу неавторизованных пользователей. Файл ключей — это основа для принятия многих решений о доверии. Рекомендуется предоставлять доступ к файлу ключей только надежным и ответственным пользователям. Если пользователь-злоумышленник получит доступ к файлу ключей и узнает пароль, он сможет создать вредоносные сборки, которые будут выглядеть как настоящие. |
Присвоение уровня доверия на основе строгого имени
На данном этапе будет добавляться новая группа кода для предоставления полного доверия сборке на основе строгого имени.
Присвоение уровня доверия на основе строгого имени
Снова откройте средство Конфигурация Microsoft .NET Framework 2.0.
Щелкните правой кнопкой мыши узел VSTOProjects, а затем нажмите Создать в появившемся контекстном меню.
Введите имя Строгое имя теста безопасности для новой группы кода и нажмите кнопку Далее.
В списке Выберите тип условия для этой группы кода нажмите Строгое имя.
Нажмите кнопку Импорт.
Найдите файл C:\Walkthroughs\Мой тест безопасности\Мой тест безопасности\bin\Мой тест безопасности.dll для Visual Basic или файл C:\Walkthroughs\Мой тест безопасности\Мой тест безопасности\bin\debug\Мой тест безопасности.dll для C# и нажмите Открыть.
Нажмите кнопку Далее.
Нажмите кнопку Далее, чтобы принять набор разрешений FullTrust, и затем нажмите Готово.
Закройте средство Конфигурация Microsoft .NET Framework 2.0.
Проверка приложения
Теперь можно протестировать проект, чтобы убедиться, что созданный код выполняется при открытой книге.
Проверка книги
Нажмите клавишу F5 для запуска проекта.
Проверьте, появилось ли окно сообщения.
См. также
Задачи
Практическое руководство. Предоставление разрешений папкам и сборкам (Система 2003)
Практическое руководство. Удаление разрешений для папок и сборок (система 2003)
Основные понятия
Требования безопасности при выполнении решений Office (для системы 2003)
Рекомендации по безопасности для решений Office (система 2003)