Как я могу использовать сеансы с изменением ip клиента каждые 5 минут? - PullRequest
1 голос
/ 11 декабря 2011

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

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

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

Спасибо!

Веб-приложение рассчитано примерно на 10 пользователей, и, если возможно, я бы хотел, чтобы оно никогда не превышало время ожидания, чтобы, если они смотрят страницув течение 4 дней и вернуться к нему, они могут нажать отправить и он отправляет.

Ответы [ 2 ]

1 голос
/ 11 декабря 2011

Я не уверен, почему вы теряете сеанс через 5 минут или почему он, кажется, коррелирует с изменениями IP-адреса клиента (это приложение для интрасети? Происходит ли что-то еще с 5-минутными интервалами?).

Следующая web.config настройка должна создавать сеансы, которые длятся 6 месяцев и выдержат повторения пулов приложений:

<sessionState mode="StateServer" timeout="262800"
    stateConnectionString="tcpip=127.0.0.1:42424"/>

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


Как отмечает Джарретт, довольно странно хотеть поддерживать сеансы так долго без активности,и я не рекомендовал бы это, если бы было значительное число пользователей, но если это действительно 10 и только 10 пользователей, это, вероятно, хорошо.

1 голос
/ 11 декабря 2011

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

...