Приветствую All! Помогите, с решением. Имеем строку objectSID из Active Directory вида: S-1-5-21-759505009-890745833-1606760577-1004 Как мне ее с помощью php перевести в текстовый вид? Заранее спасибо!
получаю через LDAP эта строка = имя пользователя т.е. запрашивая ее, я получаю читабельный текст вот, я и хочу запрашивать данную строку через php получит имя пользователя
PHP: <?php function littleEndian($hex) { for ($x=strlen($hex)-2; $x >= 0; $x=$x-2) { $result .= substr($hex,$x,2); } return $result; } // Returns the textual SID function binSIDtoText($binsid) { $hex_sid=bin2hex($binsid); $rev = hexdec(substr($hex_sid,0,2)); // Get revision-part of SID $subcount = hexdec(substr($hex_sid,2,2)); // Get count of sub-auth entries $auth = hexdec(substr($hex_sid,4,12)); // SECURITY_NT_AUTHORITY $result = "$rev-$auth"; for ($x=0;$x < $subcount; $x++) { $subauth[$x] = hexdec(littleEndian(substr($hex_sid,16+($x*8),8))); // get all SECURITY_NT_AUTHORITY $result .= "-".$subauth[$x]; } return $result; } echo binSIDtoText($bin_sid); ?> Оно?
приветсвую! да, этот код видел. только, не понял куда мне вставлят SID. т.е. мне прямо нужно указать SID вида: S-1-5-21-759505009-890745833-1606760577-1004 итого = имя пользователя. Извиняюсь, если очень тупо...
Более полная задача: я SID выдергиваю из MS Access таблицы, мне его нужно преоброзовать в нормальный текст (в данном случае, это имя пользователя) и отобразить в вебе.
Хех. Никак. Можно запросить данные из AD для этого objectSID. Сам по себе SID не несет никакой информации.
Ok, есть SID вида: S-1-5-21-759505009-890745833-1606760577-1004 , как его сопоставить пользователю AD ? Просто когда делаю вывести всех пользователей, то все работает. НО у меня есть строковой параметр в MS Access базе в виде сида этого пользователя и я хочу его выдернуть из базы и сопоставить с AD и чтобы в web у меня отоброзилось имя пользователя, а не этот непонятны набор цифр.