что я должен сделать, чтобы пользователь не мог получить доступ к переменным, которые я скрываю в коллекции сеансов?
Если пользователь не имеет корневого доступа к вашему серверу (где хранятся данные сеанса), вам не стоит слишком беспокоиться.Но я предполагаю, что если бы у пользователя был root-доступ к вашему серверу, у вас было бы гораздо больше проблем, чем о данных сеанса.
Клиент не может получить доступ к данным, хранящимся в сеансе.Только серверный код может получить к нему доступ.Поэтому вам решать, какую информацию вы хотите отправить клиенту.Все, что видит пользователь, это идентификатор сеанса (который хранится в cookie), а не фактические данные сеанса.Этот идентификатор отправляется пользователем при каждом запросе, чтобы сервер мог найти соответствующие данные, которые в вашем случае хранятся в памяти настроенного вами сервера состояний.