Повторный запрос cookie или хранение в viewstate? Какая практика лучше?

StackOverflow https://stackoverflow.com/questions/167873

  •  03-07-2019
  •  | 
  •  

Вопрос

У меня есть внутренний веб-сайт, на который пользователи заходят. Эти данные сохраняются в виде куки. Оттуда пользователи идут своим веселым путем. Время от времени приложения (-ы) запрашивают запись аутентификации, чтобы определить, какие разрешения имеет пользователь.

У меня такой вопрос: эффективнее ли просто запрашивать куки-файл для пользовательских данных, когда они необходимы, или сохранять пользовательскую информацию в viewstate?

[Изменить] Как уже упоминалось ниже, Session также является опцией.

Это было полезно?

Решение

ViewState - это страница, которую они просматривают, поэтому она исчезает, когда они идут своим веселым путем. Не хороший способ сохранить данные.

Лучше всего использовать проверку подлинности с помощью форм, встроенную в ASP.NET, и вы также можете вставить любую информацию о пользователе в стоимость билета проверки подлинности с помощью форм. Вы можете получить 4000 байтов (после шифрования), которые должны содержать все, что вам нужно. Он также позаботится о том, чтобы разрешить и запретить пользователям доступ к страницам на сайте, и вы можете установить его срок действия в любое время.

Хранение в сеансе - это нет-нет , поскольку оно ОЧЕНЬ плохо масштабируется (расходует ресурсы на сервере) и может раздражать пользователей, имеющих несколько подключений браузера к одному серверу. Иногда это неизбежно, но вы должны прилагать большие усилия, чтобы избежать этого, если можете.

Другие советы

Лично я предпочитаю использовать сеанс хранить вещи, хотя другие разработчики, похоже, считают, что это нет-нет.

Есть одно предупреждение: вы можете сохранить IP-адрес пользователя в сеансе и сравнить его с текущим IP-адресом пользователя, чтобы избежать перехвата сеанса. Возможно, у кого-то еще есть лучшее представление о том, как предотвратить перехват сеанса.

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

Я бы использовал метод cookie. Сессия в порядке, но удаляется asp.net при перекомпиляции, и вы должны использовать не сессионный cookie, если вы все равно хотите сохранить его после сессии. Также, если вы когда-либо используете сервер состояний, он делает то же самое (сохраняет сессию в БД). Сессия похожа на быстрое и грязное решение, настоящие мужчины используют куки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top