2013-06-14 11 views
9

तो, मैं जानना चाहता हूं कि उपयोगकर्ता ने व्यवस्थापक विशेषाधिकारों के साथ एप्लिकेशन चलाया है - चाहे वह व्यक्ति ओएस के बावजूद हो।पता लगाएं कि उपयोगकर्ता व्यवस्थापक

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; 
} 

क्या मैक और Ubuntu के बारे में:

मैं (किसी वेबसाइट से) विंडोज के लिए समाधान नहीं मिला?

+4

मैं गहराई से संदिग्ध है कि आपके ऊपर समाधान विंडोज के विभिन्न संस्करणों पर मज़बूती से चलेंगे हूँ, विशेष रूप से verboten 'com.sun। *' आयात के साथ। शायद आपको वर्णन करना चाहिए * क्यों * आपको इसका पता लगाने की आवश्यकता है - शायद एक बेहतर समाधान है। –

+0

@TomG मैं जावा विशेषज्ञ नहीं हूं; बस एक नौसिखिया। यह क्यों काम नहीं करेगा ?? –

+1

उबंटू पर आप शायद जांच सकते हैं कि 'whoami' कमांड' रूट 'देता है या नहीं। – Piovezan

उत्तर

7

मुझे नहीं लगता कि पूरी तरह से ओएस स्वतंत्र होना संभव है, लेकिन कुछ महीने पहले मुझे IzPack स्रोत कोड देखना था और यह वही है जो आपको चाहिए।

PrivilegedRunner वर्ग यह अगर यह व्यवस्थापक विशेषाधिकार है की जांच करने के विधि isElevationNeeded

यहां यह जांच है में source code

संबंधित मुद्दे