programing tip

Java 현재 컴퓨터 이름과 로그인 한 사용자?

itbloger 2020. 6. 16. 20:36
반응형

Java 현재 컴퓨터 이름과 로그인 한 사용자?


현재 로그인 한 사용자 이름 (Windows / Unix)과 시스템의 호스트 이름을 얻을 수 있습니까?

정적 환경 클래스의 속성이라고 가정합니다.

사용자 이름으로 찾았습니다

com.sun.security.auth.module.NTSystem NTSystem = new
        com.sun.security.auth.module.NTSystem();
System.out.println(NTSystem.getName());

그리고 이것은 머신 이름을 위해 :

import java.net.InetAddress;
...
String computerName;
...
try {
    computerName = InetAddress.getLocalHost().getHostName();
}

catch(Exception ex) {
    ...
}

첫 번째는 Windows 전용입니까?

호스트 이름을 설정하지 않으면 두 번째는 어떻게됩니까?


현재 로그인 한 사용자를 얻으려면 :

System.getProperty("user.name"); //platform independent 

머신의 호스트 이름 :

java.net.InetAddress localMachine = java.net.InetAddress.getLocalHost();
System.out.println("Hostname of local machine: " + localMachine.getHostName());

현재 로그인 한 사용자를 얻으려면 :

System.getProperty("user.name");

기계의 호스트 이름을 얻으려면 다음을 수행하십시오.

InetAddress.getLocalHost().getHostName();

질문의 마지막 부분에 대답하기 위해 Java API 는 getHostName ()이

이 IP 주소의 호스트 이름 또는 보안 검사에서 조작이 허용되지 않는 경우 IP 주소의 텍스트 표현.


user.name환경 변수가 위조 될 수 있으므로 사용 이 안전하지 않습니다. 사용중인 방법이 좋으며 유닉스 기반 OS에도 비슷한 방법이 있습니다.


현재 로그인 한 사용자 경로를 얻으려면

System.getProperty("user.home");

참고 URL : https://stackoverflow.com/questions/473446/java-current-machine-name-and-logged-in-user

반응형