{
  // Перенаправить https, чтобы гарантировать доступ к странице через SSL.
  Response.Redirect("https://www.mySite.com/account.asmx");
}

На заметку! Общей ошибкой является использование localhost или любого другого псевдонима для имени хоста сервера в SSL-соединении. Это не будет работать, поскольку клиент пытается проверить, что часть CN (common name — общее имя) субъекта имени серверного сертификата соответствует имени хоста, содержащегося в запросе HTTP во время фазы квитирования SSL-обмена.

С SSL будет зашифрован весь трафик, а не только важные данные. По этой причине многие Web-серверы используют аппаратные ускорители для повышения производительности шифрования SSL.

На заметку! Помните, что SSL не встроен в ASP.NET. Если вы хотите узнать больше об SSL, обратитесь к книгам, посвященным вопросам безопасности и IIS.

Архитектура безопасности ASP.NET

ASP.NET реализует концепцию стражей (представленную выше) через модули HTTP. Каждый модуль — это класс, реализующий интерфейс IHttpModule, и каждый модуль выполняет функцию, стража в инфраструктуре ASP.NET. Конечно, модули HTTP используются и для других задач, но многие из них связаны с безопасностью. Как видно на рис. 19.9, ASP.NET включает несколько модулей аутентификации и авторизации.

Рис. 19.9. Классы IHttpModule в качестве стражей безопасности ASP.NET

Поскольку Web-приложения используют HTTP без поддержки состояния, никакая информация не сохраняется между пользовательскими запросами. В результате пользователь должен быть аутентифицирован и авторизован в начале каждого запроса. ASP.NET справляется с этим за счет генерации глобальных событий приложения. Модули аутентификации могут обрабатывать эти события для осуществления аутентификации пользователя.

предыдущая    следующая страница    вначало главы    оглавление

819

Hosted by uCoz