идентификатор сеанса аутентификации против cookie

Я пытаюсь выяснить плюсы и минусы использования аутентификации на основе идентификатора сеанса и аутентификации на основе файлов cookie

Насколько я могу судить, в аутентификации на основе файлов cookie

  • Пользователь отправляет запрос на вход, отправляя свои учетные данные
  • Учетные данные проверяются в базе данных
  • Cookie будут установлены с данными пользователя
  • Это будет сделано через https, и файлы cookie будут зашифрованы.
  • В .net, если это идентификация пользователя authcookie, будет установлена ​​
  • База данных удаляется только один раз, а последующие вызовы просто проверяют файл cookie аутентификации

В случае аутентификации на основе сеанса

  • Пользователь отправляет запрос на вход отправка своих учетных данных
  • Учетные данные проверяются в базе данных
  • Идентификатор сеанса генерируется и также сохраняется в базе данных
  • Cookie будет установлен с данными пользователя и сгенерированным идентификатором сеанса
  • Последующие вызовы будут сравните идентификатор сеанса с идентификатором в базе данных
  • База данных попадает каждый раз

Вопросы

Есть ли причина предпочесть одно другому? Являются ли файлы cookie менее безопасными (даже если вы их зашифровываете и подписываете)? Является ли производительность сеанса хуже, поскольку он попадает в базу данных во время каждого вызова? Я видел несколько сайтов, склоняющихся в ту или иную сторону, но не мог получить четкого представления о том, какой подход использовать. Будем очень признательны за любые обсуждения / предложения.

8
задан user275157 23 June 2011 в 12:41
поделиться