MVC3 и аутентификация

Хорошо, я новичок в веб-разработке, поэтому могу неправильно понять некоторые из этих терминов. Я заранее прошу прощения.

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

Итак, я видел три места, которые обычно используются для хранения информации.

  1. FormsAuthentication.SetAuthCookie (). В нем хранится файл cookie сеанса, срок действия которого истекает в браузере, и на клиенте нет ничего важного. Однако он может хранить только одно значение. Этот ответ stackoverflow показывает здесь метод хранения нескольких значений, но парень, который его дает, говорит не использовать его, хотя не почему.

  2. FormsAuthenticationTicket. Я не знаю, где хранится эта информация, но она позволяет использовать простой метод хранения нескольких значений. Для его защиты, согласно документации , требуется вызов Encrpty () для сохранения и decrypt () для получения. Это кажется расточительным, но что я знаю?

  3. Session ["SomeRef"] = new CustomObject (). Второй ответ в этом вопросе объясняет, как это сделать, но комментарий к нему называет это опасным, потому что его можно украсть. Мне это кажется лучшим методом, потому что информация по-прежнему хранится на сервере и может хранить несколько значений.

Я не могу найти никаких сравнений для этих методов или хороших объяснений "передового" способа хранения нескольких значений. части информации после аутентификации пользователя. Информация представляет собой только имя пользователя и его идентификатор пользователя.

12
задан Community 23 May 2017 в 11:45
поделиться