2011-10-20 3 views
1

java 프로젝트를 진행 중입니다. 이 프로젝트는 시스템에서 일부 프로세스를 실행하기 위해 관리자 권한이 필요합니다. 이를 위해 프로젝트를 시작하는 동안 관리자 권한을 부여 할 수있는 방법이 있습니까? 어떤 방법으로 자바에서 관리자 권한으로 명령 프롬프트를 시작할 수 있습니까?관리자 권한으로 java에서 명령 프롬프트 (CMD)를 시작하십시오.

+0

관련 항목 : [Windows에서 관리자로 Java 응용 프로그램을 실행하는 방법] (http://stackoverflow.com/questions/1385866) – McDowell

답변

3

면책 조항 : 그러나이 스레드는 몇 가지 아이디어를 제공합니다 나는 당신이이 두 가지 방법이 있습니다

내가 권하고 싶습니다 특히 윈도우 플랫폼이 요구하는 가정

사용에게 runas 프로그램을

이것은 가장 쉬운 방법이며 실제로 콘솔 창을 원하기 때문에 암호 프롬프트가 어색해 보이지 않습니다. 반면에 사용자는 자신의 암호를 콘솔 창에 입력하는 것이 의심 스러울 수 있습니다.

이는 Win32에서 자바 라이브러리를 사용하도록 요구하는 CreateProcessWithLogonW API 함수

를 사용합니다. (나는 JNA을 권하고 싶다). 그것은 조금 더 많은 작업이지만 표준 Windows 로그인 대화 상자로 인해 더 나은 사용자 환경을 제공 할 수 있습니다.

1

관리자 권한을 요청할 수없고 관리자 권한으로 시작되지 않은 응용 프로그램에서 관리자 명령 줄을 시작할 수 없습니다. 이것은 심각한 보안 문제 일 것입니다.

대신 관리자 권한으로 앱을 시작했는지 확인하고 사용자에게 앱을 보관할지 묻는 메시지가 표시되지 않는지 확인할 수 있습니다 (보관 방법에 대한 간단한 방법을 보여줍니다).

모든 플랫폼에서이 작업을 수행하는 표준화 된 방법이 없으므로 불행히도이 문제는 더 큰 문제가됩니다. Detect if Java application was run as a Windows admin

관련 문제