Сохранение пользовательских данных в памяти

#asp.net #forms-authentication #formsauthenticationticket

#asp.net #формы-аутентификация #formsauthenticationticket

Вопрос:

Я довольно новичок в использовании аутентификации в формах и пытаюсь разобраться, как все это работает. В принципе, что я хотел бы иметь возможность делать, так это сохранять некоторые пользовательские данные, связанные с билетом FormsAuthentication (данные, которые возвращаются с моего сервера ldap); однако я не хочу фактически сохранять эти данные в cookie, поскольку это может быть довольно большой объем данных. Возможно ли каким-либо образом сохранить эту информацию в памяти на сервере, но сохранить ее строго привязанной к билету, чтобы при истечении времени ожидания пользователя или выходе из системы данные также уничтожались. Я понимаю, что мог бы использовать переменные сеанса для этого, но это кажется неудобным, поскольку мне пришлось бы вручную очищать переменные сеанса, если пользователь выходит из системы. Возможно ли это или это вообще имеет смысл делать?

Ответ №1:

Почему вам нужно вручную очищать сеанс? Вся цель словаря сеансов — позволить вам делать именно то, что вы хотите сделать здесь: связать некоторые известные данные с текущим сеансом браузера пользователя. Когда сеанс браузера пользователя по какой-либо причине завершается, HttpApplication и его сеанс теряются и GCed. Итак, я бы просто поместил ваши данные LDAP в сеанс под ключом или набором одинаковых и забыл об этом.