Вы можете начать думать об этом по-другому.
У вас есть некоторые пользовательские данные, какие бы они ни были, которые вам нужно сделать доступными для вашего приложения в нескольких местах.Одним из вариантов является сеанс, он привязан к пользователю, он недолговечный и хорошо работает, если вы не храните в нем слишком много.
Когда у вас есть данные в одном месте, вам больше не нужно думать о передаче их между контроллерами, вместо этого вы начинаете тянуть их туда, где они вам нужны.Вы можете начать создавать некоторые службы, которые вы можете использовать для работы с хранилищем.Я сказал сеанс, но вы можете также легко использовать что-то еще, например, реальную базу данных, что для таких вещей, как тележки для покупок, не является плохой идеей.
Идея в том, чтобы перестать думать с точки зрения MVC и начать мыслить на уровне приложения.