我正在java中构建一个桌面应用程序,我需要登录的用户名。
我使用System.getProperty("user.name")
来获取用户名。
但是这可以通过使用
来欺骗Properties p = System.getProperties();
p.put("user.name", "XYZ");
System.setProperties(p);
或
-Duser.name=someothername
如何以安全的方式阻止此欺骗或任何其他方式登录用户名。 桌面应用程序独立于平台。
答案 0 :(得分:5)
系统属性不是环境变量。将System.getenv("USERNAME")
用于环境变量。用户仍可以使用System.properties
在java命令行上设置java -Duser.name=someoneelse
。