Может ли приложение Classic ASP быть защищено с помощью HTTPModules? - PullRequest
1 голос
/ 29 января 2009

У меня есть классическое приложение ASP, в настоящее время защищенное с использованием проверки подлинности на основе форм ASP.NET, работающее на IIS 6, и проблема заключается в том, что наши приложения требуют реализации модели безопасности единого входа с использованием Entrust TruePass, которая использует клиентские сертификаты, как мне кажется. Может ли это быть реализовано с использованием ASP.NET Http-модулей или мне нужно написать фильтр ISAPI? Есть ли другие варианты?

Ответы [ 2 ]

3 голосов
/ 29 января 2009

Чтобы запустить HttpModule, IIS должен отправить запрос aspnet_isapi.dll, а затем обычному asp.dll. В большинстве случаев, если в .net есть конечная точка, она не передает запрос обратно в IIS, но в IIS6 вы можете определить обработчик для подстановочных знаков, см. Эту статью о защите содержимого, отличного от .net, с использованием проверки подлинности с помощью форм https://web.archive.org/web/20111127051259/http://www.15seconds.com/issue/070104.htm

Итак, вы должны создать свой модуль, зарегистрироваться в web.config и использовать его для аутентификации, и, пока конечная точка не совпадает ни с чем .net будет обрабатывать, тогда она должна вернуться IIS перейти на asp.dll

[Ссылка выше через Интернет-архив, ноябрь 2011 г. Ранее статья была на http://www.15seconds.com/issue/070104.htm]

1 голос
/ 29 января 2009

Прежде всего, позвольте мне заявить, что я не очень много знаю о HTTPModules, но я думаю, вы могли бы написать свою собственную реализацию IHttpModule для обработки TruePass. См. Эту ссылку для получения дополнительной информации: MSDN HttpModules .

Исходя из моего опыта, самая большая проблема, возникающая при переходе между классическим ASP и .NET, связана с информацией о сеансе. То, что хранится в классической переменной сеанса ASP, не может быть прочитано .NET и наоборот. Но поскольку ваша FormsAuthentication, скорее всего, использует куки, у вас есть возможность вернуться туда и обратно.

Я не уверен насчет других вариантов. Если ваши бизнес-требования состоят в том, чтобы сохранить классический asp-код и использовать TruePass, то я думаю, вы могли бы заставить его работать.

Надеюсь, это поможет.

...