В чем разница между сеансом и принципалом в Ktor?

Я новичок в разработке на стороне сервера, и я пытаюсь создать службу API в Ktor.

Я не понимаю разницы между сеансом и принципалом. Из примеров, которые я нашел, кажется, что объекты сеанса и основные объекты используются для хранения информации о вызывающем, такой как их userId и т. Д.

Почему существует Принципал, если Сессия достигает той же цели? Что мне не хватает?


person rgv    schedule 05.12.2020    source источник


Ответы (1)


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

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

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

person Sergey Mashkov    schedule 08.12.2020