У меня есть приложение, созданное с использованием asp.net mvc и развернутое на 2 Amazon EC2 экземплярах. Я использую аутентификацию форм для аутентификации пользователей. Я просто быстро проверяю имя пользователя и пароль и, если я нашел совпадение, я устанавливаю cookie для аутентификации, например, так:
if(_repository.Login(username, password))
FormsAuthentication.SetAuthCookie(username, false);
Это прекрасно работает, пока приложение на одной машине, но, как только я использовал Amazon Elastic Load Balancing для развертывания сайта на двух машинах, сайт ведет себя очень странным образом. Когда пользователь входит в систему, сайт распознает вошедшего в систему пользователя, после одного или двух обновлений сайт больше не видит пользователя как вошедшего в систему пользователя. Если пользователь продолжает обновляться в течение некоторого времени, приложение снова видит его как зарегистрированного пользователя, и это продолжается вечно.
Я знаю, что такая проблема может возникнуть, если я храню SessionState inproc. Я вообще не использую SessionState .
Что мне здесь не хватает, ребята?
Ps : я отредактировал состояние сеанса, чтобы сохранить его на сервере состояний [хотя я нигде не использую ни сеансы, ни TempData в моем приложении], и такое же странное поведение присутствует. 1016 *