无法在RDi 9.5(64位)JRE 1.8上找到类com.sun.security.auth.module.NTSystem.NTSystem

时间:2017-07-19 05:55:37

标签: java windows websphere

我可以在JRE 1.6为

的Windows机器上检查提供的用户是否为系统管理员
String groups[] = (new com.sun.security.auth.module.NTSystem()).getGroupIDs();
for (int i = 0; i < groups.length; i++)
{
    if ("S-1-5-32-544".equals(groups[i]))
    {
        return true;
    }
}

参考:http://www.rgagnon.com/javadetails/java-check-if-current-user-is-admin-(windows).html

但是这个类 NTSystem 在IBM RDi 9.5(64位)JRE 1.8上不可用。 即使是完整的包装也不可用,即

  

com.sun.security.auth。*

任何想法,如何在RDi 9.5(64位)JRE 1.8中完成上述任务?

3 个答案:

答案 0 :(得分:2)

甲骨文称JDK8正在改变太阳。*类

  

阳光下的一些API。*包已经改变。这些API不是   供开发人员使用。 从太阳进口的开发商。*   包裹自行承担风险。有关详细信息,   看看为什么开发人员不应该编写打电话给太阳&#39;包。 http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html

的src: http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html

答案 1 :(得分:1)

您的JRE中应该有必需的JAR(rt.jar),它是JRE的一部分。

如果它可用但仍无法查看类,那么您应该为IBM RDi设置正确的运行时间。

答案 2 :(得分:1)

使用JNA库获得了我的问题的完美解决方案。

http://www.rgagnon.com/javadetails/java-detect-if-current-user-is-admin-using-jna.html