Управление сессиями с ASP.NET MVC + IIS 6.0 + Базовая аутентификация - PullRequest
0 голосов
/ 19 августа 2011

Я скоро приступлю к разработке проекта с ASP.NET MVC (C #), но сначала хотел бы определить, как исправить некоторые недостатки наших существующих классических приложений ASP в новой среде.Наши веб-серверы интрасети работают под управлением IIS6, и по какой-то причине (очевидно, из-за балансировки нагрузки) ИТ-группа определила, что встроенная аутентификация Windows не будет работать, и поэтому мы застряли на базовом уровне.Я хотел бы делать на основе форм и запрашивать AD, но это не вариант в целях безопасности.Таким образом, задача состоит в том, чтобы имитировать то, что можно сделать с помощью аутентификации на основе форм, но при этом на самом деле используя базовую.В частности, было бы прекрасно иметь возможность сделать что-то, приближенное к выходу из системы.Ведущий веб-разработчик ИТ-команды сказал, что отказался от попыток заставить это работать.Кажется, что есть много информации об этом, но многое кажется противоречивым из-за различий в конфигурации.

Есть ли лучший способ достичь этого, учитывая нашу конфигурацию?

ИтакЛучшее, что я нашел, - это просто выполнить какое-то ручное отслеживание сеанса, а затем снова запросить информацию для входа в систему, ответив 401, если время сеанса истекло или они были помечены как вышедшие из системы, а затемпосетите страницу еще раз, прежде чем закрывать и открывать браузер.Кажется, что это сработало бы, но есть ли более элегантное решение?

1 Ответ

2 голосов
/ 19 августа 2011

Одна небольшая точка: аутентификация и сессия - это две разные концепции в ASP.NET, хотя терминология легко их спутать.

Аутентификация имеет билет аутентификации, зашифрованный в куки-файле, и обычно у него есть ограничение по времени, в течение которого вы вошли на сайт, прежде чем вам потребуется повторная аутентификация. Это также может быть скользящая шкала или никогда не требовать повторной аутентификации, в зависимости от того, как настроена ваша аутентификация.

Session - это данные, которые хранятся в состоянии Session в течение определенного интервала (аутентифицированы и не аутентифицированы) и отслеживаются его собственным файлом cookie. В зависимости от того, как сеанс и аутентификация настроены вместе, возможны сценарии, когда интервал аутентификации пользователя истекает, требуя от него входа в систему, и все же у него все еще есть данные сеанса и наоборот.

Похоже, вы говорите о приложении для интрасети, исходя из того факта, что вы хотели бы использовать Windows authenticatio n и Active Directory для аутентификации пользователей и авторизации того, что эти пользователи могут делать в приложении. Это может очень хорошо работать для приложений в интрасети, и я не совсем уверен, какие проблемы безопасности были высказаны по этому поводу. Не могли бы вы уточнить?

Если вы говорите об интернет-приложении и хотели бы использовать проверку подлинности Windows и Active Directory для пользователей интрасети и проверки подлинности на основе форм для всех остальных, то это, безусловно, также может быть достигнуто. Для этого вам может понадобиться Windows Identity Foundation .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...