Мы сделали то же самое (аутентификация OpenID), не создавая сессионный компонент вручную.Все, что вам нужно, - это обернуть все токены аутентификации, идентификаторы, роли и другие элементы в один сериализуемый класс (пусть это будет UserAuthInfo
) и сохранить экземпляр этого класса в карте сеанса после аутентификации.Позже, в обычном сессионном компоненте, вы проверяете наличие этого объекта в карте сеанса, инициализируете все необходимые данные, читаете БД, делаете другие вещи и дополнительно удаляете экземпляр UserAuthInfo
из карты сеанса.