Чтобы получить имя текущего пользователя в программе Java, вы можете simply fetch the value of the user.name
system property:Может user.name подделать
System.getProperty("user.name");
Но насколько безопасно это? Может ли пользователь, выполняющий программу, легко установить это свойство на произвольное значение (например, с использованием аргумента командной строки JVM) для обычных сред выполнения? Может ли пользователь легко обмануть это имя пользователя?
Я спрашиваю, потому что я пишу программу командной строки, которая может быть запущена кем-либо, но позволяет некоторым привилегированные операции, только если пользователь является специальным административным пользователем.