9

所以,我想知道用户是否以管理员权限运行了应用程序——不管这个人使用的是什么操作系统。

我找到了适用于 Windows 的解决方案(来自网站):

public static boolean isAdmin() {
    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;
}  

Mac 和 Ubuntu 呢?

4

1 回答 1

7

我认为不可能完全独立于操作系统,但几个月前我不得不检查 IzPack 源代码,它完全符合您的需要。

PrivilegedRunner类中它必须检查它是否具有管理员权限,检查方法isElevationNeeded

这是源代码

于 2013-06-14T23:40:57.213 回答