Задать вопрос
@Ghoo
Изучаю C# и C++

Как сделать авторизацию на CGI C++, чтобы при переходе на другую страницу, пользователь оставался авторизованным?

Допустим я сделал регистрацию и авторизацию для пользователей, но при переходе на другую страницу - авторизация сбрасывается. Посоветуйте, как исправить это?
  • Вопрос задан
  • 324 просмотра
Подписаться 1 Средний 2 комментария
Решения вопроса 2
nekipelov
@nekipelov
Самый простой вариант - через cookie. После авторизации добавляется заголовок "Set-cookie" с уникальным идентификатором сессии. После получения заголовка "set-cookie" пользовательский браузер будет присылать этот идентификатор при каждом запросе. Соответственно обработчик получает идентификатор сессии из заголовка cookie, получает ассоциированную с сессией информацию из БД и использует (имя пользователя, корзина и т.д.).

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

Надо иметь ввиду, что с cookie много нюансов в плане безопасности.
Ответ написан
planc
@planc
у тебя есть файл/база:
user_id
username
password
----
user_id
token


юзер ввел правильный данные, сервер сгенерировал рандомную строку ( token ) и отдал юзеру
теперь с каждым запросом юзер отправляет заголовок Authorization: тут_токен
сервер по токену определяет от какого юзера пришел запрос

как альтернатива токену - есть еще JWT
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы