Как проверить уровень доступа пользователя в любой системе - PullRequest
1 голос
/ 28 февраля 2012

В нашем приложении RCP мы недавно добавили меню в качестве команды под вкладками меню.Теперь, когда мы хотим включить или отключить это новое меню в зависимости от пользователя, который вошел в систему.По сути, мы хотим включить меню только для входа администратора, а не для любого другого пользователя.

Как это можно сделать?

Заранее спасибо !!

Ответы [ 2 ]

3 голосов
/ 28 февраля 2012

Вы можете получить имя вошедшего в систему пользователя как:

String user=System.getProperty("user.name"); 

Вы можете получить зарегистрированного пользователя detail , как описано в 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

Тогда Я надеюсь, что вы получите достаточно подсказок.

0 голосов
/ 28 февраля 2012

Вы можете попробовать использовать механизм действий для этого. Посмотрите на это

...