Я только начал проект MVC 3, используя проверку подлинности с помощью форм. У меня есть веб-проект (проект MVC) и проект данных. Проект данных обрабатывает все взаимодействия с базой данных.
Мне нужно хранить текущий идентификатор пользователя в моей базе данных при каждой вставке и обновлении.
Вот что я сейчас делаю. Я чувствую, что это должен быть общий сценарий. Может кто-нибудь пролить свет на лучший способ сделать это?
- При входе в систему или при регистрации я беру свою текущую запись пользователя (по имени пользователя) из базы данных и сохраняю идентификатор пользователя в сессии.
- При сохранении записи в моем проекте данных я ссылаюсь на httpcontext (если он существует) и использую идентификатор пользователя, который хранится в сеансе.
Это работает для всех, кроме одного сценария. Сбой происходит, когда у пользователя сохранен действительный файл cookie, и поэтому ему разрешено обойти действие входа в систему / регистрации. Когда это происходит, очевидно, что моя переменная сеанса для userId равна нулю. Следующим моим шагом будет создание базового контроллера и элемента OnAuthorizeStarting, чтобы проверить, является ли моя переменная Session нулевой или нет. Это кажется глупым, и я надеюсь, что есть лучший способ.
Я не хочу передавать идентификатор пользователя в проект данных в качестве параметра при каждом вызове сохранения.
У кого-нибудь есть блеск? спасибо.