Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При использовании безопасности на основе ролей в приложении COM+, содержающем компонент, у вас есть доступ к программным функциям безопасности из компонента. Вы можете проверить членство в роли, чтобы определить, выполняются ли определенные разделы кода, вы можете получить доступ к сведениям о безопасности с помощью объекта контекста вызова безопасности и определить, включена ли безопасность для текущего вызова. Все эти задачи можно выполнить с помощью ссылки на объект SecurityCallContext (для приложений Microsoft Visual Basic) или указатель на интерфейс ISecurityCallContext (для приложений C и Microsoft Visual C++).
Дополнительные сведения о программной безопасности на основе ролей см. в следующих разделах:
- проверка членства в роли
- определяет, включена ли безопасность Role-Based
- доступ к сведениям о контексте вызова безопасности
Олицетворение и функции безопасности COM
Если компонент используется в приложении COM+, которое не использует безопасность на основе ролей, программная проверка ролей и сведения о контексте вызова безопасности недоступны. Однако вы можете использовать программные функции безопасности, предоставляемые COM. Дополнительные сведения см. в разделе Security in COM.
Хотя большинство функций безопасности, предоставляемых COM, нельзя вызывать CoInitializeSecurity из компонента, который является частью приложения COM+, так как CoInitializeSecurity вызывается суррогатом, в котором выполняется приложение COM+. Однако можно вызвать другие функции безопасности, такие как CoQueryClientBlanket, которая получает сведения о клиенте.
В частности, если необходимо использовать удостоверение клиента для доступа к некоторым ресурсам, например доступ к файлу, защищенному дескриптором безопасности, или распространению удостоверения клиента через базу данных— вы можете выполнять олицетворение программным способом. Дополнительные сведения о том, когда и как это сделать, см. в разделе олицетворение клиента и делегирование.
Тестирование функций безопасности
Если вы используете программную безопасность COM+ в компоненте, необходимо интегрировать компонент в приложение COM+, когда вы будете готовы протестировать функциональные возможности безопасности компонента. Если компонент, использующий программную безопасность COM+, выполняется без интеграции в приложение COM+, будут возникать исключения. Таким образом, если вы хотите убедиться, что такой компонент также может быть успешно интегрирован в приложение, которое не входит в среду COM+, необходимо убедиться, что эти исключения обрабатываются соответствующим образом.
Документирование требований к безопасности
Если вы пишете автономный компонент для приложений COM+, использующих безопасность на основе ролей, необходимо документировать компонент, чтобы безопасность была настроена соответствующим образом при интеграции компонента в приложение COM+. Например, следует определить роли, которые необходимо добавить, и объяснить, какие методы и интерфейсы должны назначаться каждой роли. Кроме того, если вызывается метод, например IsCallerInRole("Teller"), следует описать функциональные возможности, к которым имеют доступ только Теллеры. Также следует указать, требуется ли роль для защиты доступа ко всему компоненту.
Связанные разделы
-
администрирования безопасностиRole-Based
-
использование политики ограничений программного обеспечения в COM+