检测用户是否为admin

Lit*_*ild 9 java

因此,我想知道用户是否以管理员权限运行应用程序 - 无论该人员处于何种操作系统.

我找到了适用于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;
}  
Run Code Online (Sandbox Code Playgroud)

Mac和Ubuntu怎么样?

Fed*_*ria 7

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

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

这是源代码