programing

Java의 현재 시스템 이름과 로그인한 사용자 이름

prostudy 2022. 7. 3. 09:52
반응형

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 전용입니까?

또, 호스트명이 설정되어 있지 않은 경우는, 2번째는 어떻게 됩니까.

현재 로그인한 사용자를 가져오려면:

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

반응형