Предложения по новым функциям:
Управление правами ролей при выполнении асинхронных задач или задач с периодическим выполнением.
Описание применения:
Использую sa-token в нескольких проектах; в веб-среде этот инструмент очень мощный и удобный, однако часто сталкиваюсь с тем, что система имеет множество асинхронных задач и задач с периодическим выполнением. В этом случае фреймворк имеет некоторые ограничения, например, есть возможность временно превратиться в определённую роль или пользователя, но эта функциональность недоступна вне веб-среды. Очень хотелось бы видеть поддержку этой функции в асинхронных или задачах с периодическим выполнением.
Эта функция может решить несколько сценариев:
- Выполнение некоторых операций на основе ID пользователя из таблицы в задачах с периодическим выполнением.
- Задачи с периодическим выполнением могут вызывать некоторые сервисы, которые, в свою очередь, могут использовать методы, предназначенные для работы в веб-среде, такие как получение ID текущего пользователя, сессии пользователя в текущем потоке, ролей и прав пользователя. Поддержка этого преобразования повысит повторное использование кода.
- Часто микросервисы используют другие сервисы, и при расписании асинхронных или задач с периодическим выполнением получение токена является сложной задачей. Поддержка такого временного преобразования позволит избежать отдельной обработки проблемы с токенами.
- Асинхронные задачи могут требовать моментального переключения между различными ролями, например, начальная роль администратора выполняет какие-то действия, затем, в зависимости от условий, различные роли выполняют задачи. Такое переключение позволит значительно уменьшить количество запросов и избыточного кода.
< Примечание: пожалуйста, предоставьте максимально подробное описание сценария использования >