Я немного запутался в управлении сеансами в MVC4.Как работает сессия в MVC?
Допустим, я ввел имя пользователя и пароль и нажал кнопку входа. Затем на стороне сервера я получил SessionId из HttpContext.Current.Session. И затем я проверяю учетные данные пользователя против базы данных. Если пользователь действителен, добавьте SessionId, userName и uiserId в сеанс.
Скажем, в следующий раз запрос поступает от одного и того же компьютера и того же браузера, я получил тот же SessionId, а затем разрешаю этому пользователю получать доступ к другой информации.
Теперь я следующие вопросы:
- Как сервер пришел узнать, что запрос, пришел из того же браузера и с той же машине?
- Я обнаружил, что SessionId отличается для разных браузеров, но он одинаковый для одного и того же браузера на другой машине, поэтому, если я вошел в систему с machine1 и с google chrome, можно ли использовать тот же сеанс для другого браузера? (Означает сеанс будет доступен для разных машин с одинаковым браузером. Возможно ли это?)
- Как сервер понимает этот запрос для того же пользователя, который вошел в систему?
- В сеансе asp.net поддерживается viewState, но состояние представления не используется в MVC, то что используется в MVC?
Я попытаюсь ответить на ваш конкретный вопрос, когда найду больше времени, но я думаю, что этот URL-адрес поможет вам устранить некоторые сомнения. https://gregorybeamer.wordpress.com/2012/11/04/session-and-cookies-in-asp-net-mvc-oh-my/ – SBirthare
Хорошо, спасибо, я просмотрю этот URL-адрес – Ashok
Сессия никогда не поддерживается «ViewState, они являются полностью отдельными механизмами. ViewState хранится в скрытом поле на странице, данные сеанса никогда не отправляются в браузер. –