Um den Namen des aktuellen Benutzers in einem Java-Programm zu erhalten, können Sie simply fetch the value of the user.name
system property:Kann user.name
System.getProperty("user.name");
Aber wie sicher ist das? Kann ein Benutzer, der das Programm ausführt, diese Eigenschaft einfach auf einen beliebigen Wert (z. B. über ein Befehlszeilenargument der JVM) für gängige Laufzeitumgebungen setzen? Kann ein Benutzer diesen Benutzernamen leicht fälschen?
Ich frage, weil ich ein Kommandozeilen-Programm schreibe, die von jedermann ausgeführt werden kann, erlaube aber einige privilegierten Operationen nur dann, wenn der Benutzer ein spezieller administrativer Benutzer ist.