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


Проектирование для обеспечения безопасности

Сквозная стратегия безопасности, очевидно, зависит от типа разрабатываемого распределенного приложения. Ниже приведено несколько предложений по устранению проблем безопасности в отношении логики приложения среднего уровня:

  • Для повышения эффективности и производительности выполните проверку подлинности как можно ближе к пользователю. Если приложение включает в себя архитектуру "браузер — бизнес-логика — база данных", рассмотрите возможность сопоставления клиентов браузера с удостоверениями домена, запустите приложение COM+ под удостоверениями, относящиеся к каждому приложению, и настройте таблицы на уровне данных, чтобы они были доступны только определенным удостоверением приложения. Этот сценарий доверенного сервера является более масштабируемым и менее проблематичным, чем использование СУБД для проверки подлинности.
  • Если вы разрабатываете компонент, который будет использоваться в распределенном приложении с помощью безопасности на основе ролей, можно использовать функции безопасности COM+ . Эта функция позволяет вызывать такие методы, как IObjectContext::IsCallerInRole и IObjectContext::IsSecurityEnabled, чтобы защитить блоки кода от несанкционированного доступа. Вы также можете использовать контекст вызова безопасности для получения сведений о вызывающих объектах.
  • Если вы разрабатываете компонент, который будет использоваться в распределенном приложении без использования безопасности на основе ролей, безопасность автоматически проверка только на уровне процесса. Разрешения на доступ к процессу определяют, кто получает доступ к приложению. Если вам нужен более точный контроль над параметрами безопасности на уровне процесса или на уровне интерфейса, используйте программную функцию безопасности, предоставляемую COM.
  • Если компонент, использующий программную безопасность COM+, выполняется без интеграции в приложение COM+, будут возникать исключения. Таким образом, если вы хотите, чтобы такой компонент был успешно интегрирован в приложение, которое не является частью среды COM+, необходимо соответствующим образом обрабатывать все исключения.

Проектирование для доступности

Проектирование для развертывания

Проектирование для масштабируемости

Безопасность программных компонентов