Установите разрешения для каталогов/подкаталогов/файловC#

Место общения программистов C#
Ответить
Anonymous
 Установите разрешения для каталогов/подкаталогов/файлов

Сообщение Anonymous »

Я хочу иметь возможность устанавливать разрешения для подпапок и файлов внутри целевой папки для конкретного пользователя.
До сих пор я узнал, как установить разрешения для конкретного пользователя. папка. Но не для подпапок и файлов внутри исходной папки.
После обширного поиска в Интернете я не смог найти никаких подсказок о том, как решить эту проблему. Кроме того, документация по Windows показывает, как устанавливать разрешения только для каталога.

Код: Выделить всё

class DirectoryPermissions
{
public static void DirectoryPermissionsMain(string Directory, string Account, string Rights, int Takeaway, string Domain)
{
try
{
string DirectoryName = Directory;

Console.WriteLine("Adding access control entry for " + DirectoryName);
if(Takeaway == 0 && Rights.Equals("Read")){
AddDirectorySecurity(DirectoryName, Domain + @"\" + Account, FileSystemRights.ReadData, AccessControlType.Allow);

Console.WriteLine("Removing access control entry from " + DirectoryName);
}

MessageBox.Show("Done");

}
catch (Exception e)
{
Console.WriteLine(e);
}

Console.ReadLine();
}

// Adds an ACL entry on the specified directory for the specified account.
public static void AddDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType)
{
// Create a new DirectoryInfo object.
DirectoryInfo dInfo = new DirectoryInfo(FileName);

// Get a DirectorySecurity object that represents the
// current security settings.
DirectorySecurity dSecurity = dInfo.GetAccessControl();

// Add the FileSystemAccessRule to the security settings.
dSecurity.AddAccessRule(new FileSystemAccessRule(Account,
Rights,
ControlType));

// Set the new access settings.
dInfo.SetAccessControl(dSecurity);

}
}
Надеюсь, кто-нибудь из вас сможет указать мне правильное направление.

Подробнее здесь: https://stackoverflow.com/questions/472 ... ries-files
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»