Настройка IIS для одновременного доступа нескольких пользователей - PullRequest
0 голосов
/ 07 марта 2012

У меня есть веб-сайт ASP.NET на компьютере WinServer2k8, который защищен с помощью проверки подлинности с помощью форм. В настоящий момент, если один человек входит в систему на компьютере A, все попытки входа в систему на компьютере B завершатся неудачей (A & B используют одно и то же подключение к Интернету для доступа к серверу). Запрос на вход в систему не возвращает никаких ошибок, скорее он просто перенаправляет обратно на экран входа в систему, как если бы аутентификация никогда не происходила. Я хотел бы знать, как настроить этот сайт через IIS7 или файл web.config, чтобы он позволял любое количество одновременных пользовательских сессий. Все параметры для веб-сайта настроены на значения по умолчанию IIS7. Я попытался изменить режимы состояния сеанса, свойство Maximum сеансы и параметры проверки подлинности с помощью форм в IIS7.

Любая помощь приветствуется.

P.S. - Я также проверил машины, которые используют другой IP-адрес для своего интернет-соединения, и я все еще не могу начать одновременный сеанс с этой стороны.

P.P.S - Если я попытаюсь запустить сеанс из веб-браузера на самом сервере, он будет работать каждый раз, независимо от того, кто вошел в систему. Мысли?

РЕДАКТИРОВАТЬ - я использую учетные данные сеанса Windows для проверки подлинности - метод, используемый серверной частью веб-страницы, - LogonUser, который импортируется из файла advapi32.dll

Ответы [ 2 ]

0 голосов
/ 08 марта 2012

Я обнаружил источник своей проблемы, и, как оказалось, в том, как я использовал проверку подлинности с помощью форм, не было ничего плохого.

Ошибка, как оказалось, была значением времени ожидания для запроса аутентификации, который был слишком низким для любой машины, за исключением самого сервера, на котором размещен веб-сайт. Я изменил значение тайм-аута для тега Forms в файле web.config с 5 до 5000, и это помогло.

Таким образом, проблема сеансов неправильной обработки сервера на самом деле была просто неспособностью других машин своевременно выполнить запрос на аутентификацию. В любом случае, спасибо за вашу помощь.

0 голосов
/ 07 марта 2012

Если вы узнаете больше о деталях проверки подлинности с помощью форм, вы знаете, что IIS / ASP.NET использует файл cookie для определения того, прошел ли пользователь проверку подлинности. Для сценариев балансировки нагрузки необходимо включить сеанс ASP.NET и использовать режим сеанса вне процесса (рекомендуется режим SQL Server).

Только в этом случае сеанс пользователя действителен на разных компьютерах, и он / она может получить доступ ко всем ящикам после проверки подлинности на одном из них,

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

http://msdn.microsoft.com/en-us/library/ff649308.aspx

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