在我们的RCP应用程序中,我们在菜单贡献下新添加了一个菜单作为命令。现在我们要根据登录系统的用户启用或禁用此新菜单。基本上我们只想为管理员登录而不是任何其他用户启用菜单。
如何实现这一目标?
提前致谢!!
答案 0 :(得分:3)
您可以将登录用户的名称检索为:
String user=System.getProperty("user.name");
您可以检索登录的用户详细信息 as described in java-forums.org:
public static void ntSystemDetails() {
com.sun.security.auth.module.NTSystem NTSystem = new com.sun.security.auth.module.NTSystem();
System.out.println(NTSystem.getName());
System.out.println(NTSystem.getDomain());
System.out.println(NTSystem.getDomainSID());
System.out.println(NTSystem.getImpersonationToken());
System.out.println(NTSystem.getPrimaryGroupID());
System.out.println(NTSystem.getUserSID());
for (String group : NTSystem.getGroupIDs()) {
System.out.println("Groups " + group);
}
}
如果您收到如下错误:
NTSystem is not accessible due to restriction on required library ...
然后,按照https://stackoverflow.com/a/2174607/607637
中的说明执行以下步骤要了解Windows操作系统中的众所周知的安全标识符,请参阅此页http://support.microsoft.com/kb/243330
然后 我希望你得到足够的提示。
答案 1 :(得分:0)
您可以尝试使用活动机制。看看this