0
我使用JNDI查詢到組編錄服務器活動目錄非標準格式回來:的objectSID在
Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://" + serverUrl + "/");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, userName + "@" + currentDomain);
env.put(Context.SECURITY_CREDENTIALS, credentials);
env.put("java.naming.ldap.attributes.binary", "objectSid");
// Create the initial context
DirContext ctx = new InitialDirContext(env);
當我的objectSID背部和轉換字節[]以十六進制字符串,我得到這樣的小島嶼發展中國家爲:
HEX: ACED0005757200025B42ACF317F8060854E002000078700000001001020000000000052000000025020000
SID: S-172-23445241858-4088152667-134674455-188500-7370752-17825792-2-537198592-620756992
這導致字節0具有172的值,並且爲237字節1,以及在解析4字節子當局的端部3個字節。
字節0應始終爲1
並且字節2應該是4個字節的子權限標識符(在本例中爲9)的數目。我無法弄清楚發生了什麼,因爲我無法在預期和實際之間正確映射。
我打賭我有一些新手犯的錯誤,但無法弄清楚它可能是什麼;我的希望是,有人在那裏通過這個,可以告訴我它是什麼!