Мне нужна глобальная переменная Binary (Linq.Binary) (ссылка на пользователя), доступная для всех контроллеров, которая заполняется в процессе авторизации. Я решил использовать TempData . (Может быть, есть более подходящий способ?). Мне не нужна система членства MVC, только одна переменная.
Когда я закрываю веб-сайт, а затем снова захожу на него, мои TempData пустые, и мне нужно снова запустить авторизацию для пользователя. Как это сделать?
- [Авторизовать] не работает - пользователь уже авторизован.
- Я пытался вставить этот код в критические контроллеры:
если
(! TempData.ContainsKey ( "CustomerRef"))
FormsAuthentication.RedirectToLoginPage ();
но ничего не происходит.
- Я пытался перегрузить AuthoriseAttribute , но выглядит невозможным поиск в TempData в AuthoriseAttribute class.
- Я не могу сохранить эту переменную в файлах cookie - это важно.
- Я не хочу хранить его где-нибудь в базе данных.
Лучший способ для меня - сбросить авторизацию пользователя, если TempData пуст, но я не знаю, как это сделать. Или, может быть, я заново изобретаю колесо? :)
P.S .: Я использую TempData.Peek () при получении данных, поэтому переменная не мигает.