У меня есть приложение winforms, которое использует серверную часть SQL Express (которая всегда находится на локальной машине). Я столкнулся с множеством пользовательских проблем, когда пользователь выполняет задачу по созданию новой базы данных в определенном месте, но оказывается, что «NT Authority\Network Service» не имеет достаточных разрешений для указанного места.
Я хотел бы проверить во время выполнения, имеет ли пользователь, работающий с SQLSERVR, доступ к определенной папке.
У меня запущен код WMI для определения пользователя/SID процесса SQLSERVR. Мой следующий шаг — попытаться получить WindowsIdentity/WindowsPrincipal пользователя, чтобы я мог запросить правила доступа к файлам.
Но я застрял - как я могу надежно получить WindowsIdentity, когда все, что у меня есть, это пользователь/домен/SID? Похоже, что нет конструктора, который хорошо подходит для этого?