Каждый раз, когда мы начинаем новый проект, нам приходится вручную создавать main в каталоге Projects, затем создайте в ней 9 подпапок и, наконец, настройте разрешения для каждой. Этот процесс занимает много времени, поэтому я решил написать программу на C# для его автоматизации.
Программа состоит из двух окон — в первом окне я ввожу имя основного папку проекта, и программа автоматически создает основную папку и ее 9 подпапок в каталоге «Проекты». Во втором окне я устанавливаю разрешения для 3 предопределенных пользователей. Когда я нажимаю кнопку «Применить», программа должна настроить разрешения.
Часть создания папки работает отлично, но программа выдает ошибку при попытке установить разрешения. Для отладки Чтобы решить эту проблему, я создал простое консольное приложение C# и вручную протестировал его с помощью следующего кода:
Код: Выделить всё
using System;
using System.IO;
using System.Security.AccessControl;
class Program
{
static void Main(string[] args)
{
string userName = @"192.168.1.120\\Mehmet";
string path = @"\\192.168.1.120\\va+ PROJECTS\\Deneme";
DirectorySecurity directorySecurity = Directory.GetAccessControl(path);
directorySecurity.AddAccessRule(new FileSystemAccessRule(userName, FileSystemRights.FullControl, AccessControlType.Allow));
Directory.SetAccessControl(path, directorySecurity);
Console.WriteLine("Permissions updated successfully.");
}
}
System.Security.Principal.IdentityNotMappedException: некоторые или все ссылки на удостоверения могут не переводится.
Устройство NAS расположено по адресу 192.168.1.120. Я пробовал использовать IP-адрес, имя устройства и другие варианты, но ни один из них не помог. Я подозреваю, что система не может распознать пользователя.
Я могу обновить разрешения вручную, щелкнув папку правой кнопкой мыши, выбрав «Свойства > Безопасность» и отредактировав их напрямую, поэтому мой учетная запись имеет необходимые разрешения. Оба устройства находятся в одной РАБОЧЕЙ ГРУППЕ.
Я считаю, что предоставил всю необходимую информацию. Кто-нибудь может помочь?
Подробнее здесь: https://stackoverflow.com/questions/793 ... on-program
Мобильная версия