поведение на стороне сервера при сохранении состояния аутентификации пользователя с использованием сеанса или файлов cookie - PullRequest
0 голосов
/ 26 марта 2011

Возник базовый вопрос о поведении на стороне сервера при использовании файлов cookie / сеанса для отслеживания состояния аутентификации пользователя.

В качестве примера используется аутентификация пользователя на основе сеанса - мы назначаем уникальный идентификатор сеанса каждый раз, когда пользователь регистрируетсяв. Предполагая, что эти сеансовые идентификаторы хранятся в постоянном хранилище, для последующих запросов страниц мы должны обратиться к базе данных или иметь кэш недавно использованных / действительных идентификаторов сеансов на стороне сервера.

В случае файлов cookie, когда сервер отправляет файл cookie клиентской стороне, когда в следующий раз клиент запрашивает страницу, сервер предполагает, что клиент уже прошел проверку подлинности и является возвращающим пользователем?

Кроме того, в ASP происходит ли обращение к таблице сеансов поставщика членства каждый раз, когда аутентифицированный пользователь запрашивает защищенную страницу?

Редактировать

Мое понимание после прочтения по формам -

Веб-сервер содержит приложение и набор веб-сервисов

Пользователь впервые обращается к сайту и входит в систему через страницу входа в систему

Учетные данные проверяются на соответствие хранилищу пользователей (дБ)

Создайте FormsAuthenticationTicket и используйте FormsAuthentication для шифрования билета и установки файла cookie для проверки подлинности

Последующие запросы от пользователя передают этот файл проверки подлинности на сервер

Сервер расшифровывает этот файл проверки подлинности.

Если этот файл cookie авторизации может быть расшифрован и срок его действия не истек, сервер разрешает доступ. В данный момент нет проверки в магазине пользователя.

1 Ответ

0 голосов
/ 27 марта 2011

С сеансом: Это зависит от того, какой режим хранилища сеансов вы используете. Если вы используете InProc, вы не обращаетесь к базе данных, но в режиме сервера sql вы будете обращаться к базе данных при каждом запросе.

с печеньем: Asp.net FormsAuthentication (также используемый Членством) может использовать куки для хранения FormsAuthenticationTicket. Это ключевой элемент, чтобы решить, аутентифицирован ли пользователь или нет. Прочитайте учебник, и это основы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...