2013-12-11 24 views
0

可以確定OS用戶是否是使用Applets的管理員(在Java Applet中)?怎麼樣?可以確定OS用戶是否是使用Applets的管理員?

我需要確定用戶是否具有管理員權限,主要是針對Windows,但我也會爲Linux和OSX獲取此信息。

我知道我可以通過「System.getProperty(」XXX「)」獲得一些信息,但沒有發現用戶是否是系統管理員。

其他信息我是通過JavaScript(OS,瀏覽器等)

由於提前得到。

+0

參考這篇文章,因爲你沒有打擾搜索。雖然我確實相信你也在尋找其他系統。然而,我確實爲你找到了Windows相關的文章。 [這裏。](http://stackoverflow.com/questions/4350356/detect-if-java-application-was-run-as-a-windows-admin)您還可以在該帖子中找到其他相關答案。 – iWumbo

+0

嗨iWumbo, 我困擾於執行谷歌搜索(不只是一次)......但你認爲是正確的,我做了搜索(和尋找)爲所描述的系統的通用解決方案。最初我以爲它可能是一個類似System.getProperty(「x」)的解決方案。你給我的解決方案(鏈接)我已經知道了,以及其他具有相同或相似代碼的鏈接,但並沒有拋棄比我更瞭解Java(java不是我的主要語言)的人可能是另一種解決方案的可能性包括其他操作系統的通用或類似的。不管怎樣,謝謝! –

回答

0

不是我正在尋找的解決方案(交叉平臺),我相信它可能會更好......但是對於大多數情況而言,這是一種解決方案。

private static boolean isAdminWin() 
{ 
    String groups[] = (new com.sun.security.auth.module.NTSystem()).getGroupIDs(); 
    for (String group : groups) { 
     if (group.equals("S-1-5-32-544")) 
     return true; 
    } 
    return false; 
} 

public static String getOSName() 
{ 
    return System.getProperty("os.name"); 
} 


private static boolean isAdminLinux() 
{ 
    return getUserName.equalsIgnoreCase("root"); 
} 

public static boolean isAdmin() 
{ 
    if (getOSName().toUpperCase().startsWith("WINDOWS")){ 
     return isAdminWin(); 
    } else { 
     return isAdminLinux(); 
    } 
} 

歡迎任何更好的解決方案!

相關問題