Я разрабатываю игру с разделенными и изолированными вселенными (например, ogame для тех, кто знает эту игру). Один игрок (учетная запись) связан с одной вселенной, но один игрок (физический) может создать одну учетную запись для каждой вселенной.
Таким образом, игрок может войти в несколько вселенных и переключаться между ними во время игры.
Для этого я создал класс Authentication
, в котором хранятся id
зарегистрированного игрока и имя юниверса (это имя схемы в моей базе данных PostgreSQL).
Итак, объект Authentication
представляет зарегистрированного игрока. Для управления ролями приложения я использую пользовательскую область, которая собирает только id
и имя юниверса (из моего объекта Authentication
) для обработки SQL-запроса и получения имени группы для преобразования его в роли.
Все эти механизмы работают нормально.
Мне интересно, действительно ли это безопасно для этого? Может ли злоумышленник отправить запрос в мою область и внедрить в свой запрос id
и имя вселенной для прямой обработки аутентификации? Поскольку моему реалму не нужны ни пароль, ни имя пользователя (обработано ранее в моем приложении для создания объекта Authentication
), такой вредоносный запрос, вероятно, сработает.
Поэтому мой вопрос заключается только в том, чтобы узнать, можно ли сделать запрос в мою область вне моего Java-приложения (или моего сервера Glassfish)?