2015-07-11 2 views
0

Мы используем FormsAuthentication для процесса входа в систему. Мне нужно добавить некоторые данные в сеанс пользователя, который вы зашли в систему, чтобы использовать его на всех страницах.Альтернатива для сеанса ["variable"] в FormsAuthentication

Это можно сделать с помощью Session["variable"] = value, но я прочитал несколько статей, в которых говорилось, что не использовать переменные сеанса с FormsAuthentication.

Есть ли подобная альтернатива, например Session["variable"] для использования с FormsAuthentication?

+2

Там не альтернатива 'Session', но вы можете иметь' alternative' аутентификации и авторизации API-интерфейсов - HTTP: // WWW. asp.net/web-forms/overview/security – adatapost

+1

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

ответ

0

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

1

Рассмотрите возможность использования UserData объекта FormsAuthenticationTicket, который создается, зашифровывается и сохраняется в файле cookie форм, если вы используете аутентификацию форм ASP.NET. Сама цель этого поля - хранить данные свободной формы того типа, который вы описываете.

0

Привет есть способ с JavaScript, который LocalStorage или SessionStorge

window.localStorage.setItem("message", "Hello World!"); 
Смежные вопросы