Мне нужно проверить разрешения чтения/записи по определенному пути. Но большая проблема в том, что я не хочу проверять свои собственные, а не Я хочу проверить их для другого пользователя.C# Как получить права на чтение/запись другого пользователя?
Это проверяет пользователя, который запускает программу.
System.Security.Principal.NTAccount
Как я смог проверить, например пользователем "OTHERUSER"?
Это мой код.
private Boolean CheckZugriff(string str_projektpfad)
{
str_projektpfad = Path.GetDirectoryName(str_projektpfad);
bool isWriteAccess = false;
try
{
AuthorizationRuleCollection collection = Directory.GetAccessControl(str_projektpfad).GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount));
foreach (FileSystemAccessRule rule in collection)
{
if (rule.AccessControlType == AccessControlType.Allow)
{
isWriteAccess = true;
break;
}
}
}
catch (UnauthorizedAccessException ex)
{
isWriteAccess = false;
}
catch (Exception ex)
{
isWriteAccess = false;
}
if (!isWriteAccess)
{
//handle notifications
}
return isWriteAccess;
}
Не могли бы вы рассказать нам что-то о Directory.GetAccessControl? –