Компания, в которой я работаю, имеет интрасеть, основанную на asp.net, которая использует пользователей домена Windows (активный каталог) для аутентификации пользователей и обработки разрешений. Одной из особенностей приложения является то, что пользователь может видеть структуру каталогов, но только те записи, для которых у него есть разрешения. Разрешения хранятся в файловой системе, а затем сравниваются с разрешениями пользователей из LDAP.
Компания хочет переместить бэкэнд из .net в php. Сейчас я ищу способ повторить эту функцию.
Есть ли способ прочитать разрешения ntfs в PHP, когда веб-сервер работает на хосте linux, а файловая система ntfs является сетевым ресурсом? Создание привязки LDAP не проблема, и я думаю, что это получение разрешений пользователей. Теперь мне нужно разрешение файлов / папок для сравнения.
Или есть другой способ, который я сейчас не рассматриваю, например, выдавать себя за пользователя?
Вы можете использовать встроенную утилиту CACLS или новее Icacls.
https://technet.microsoft.com/en-us/library/cc753525%28v=ws.10%29.aspx
Запустите его и проанализируйте его вывод.
Постскриптум Полезная функция для запуска программы с таймаутом: shell_exec () управление тайм-аутом & Exec ()
Других решений пока нет …