Прочитать права на файл

Тема в разделе ".NET", создана пользователем -, 15 мар 2010.

  1. Гость

    Репутация:
    0
    Доброго времени суток! 10 лет назад писал на Delphi клиентские приложения, потом переквалифицировался в сисадмины.

    Сейчас встала задачка - читать права на файлы и каталоги, потом это обсчитывать. Выбрал Delphi .Net. Написал вот такой код:

    Код:
    unit Unit1;
    
    interface
    
    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, System.ComponentModel, Borland.Vcl.StdCtrls, System.Security.AccessControl, system.Security.Principal, system.IO, system.Security.Permissions, system.security.Authentication;
    
    type
    TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    
    end;
    
    var
    Form1: TForm1;
    
    implementation
    
    {$R *.nfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    var t:FileSecurity;
    s:string;
    uu:AuthorizationRuleCollection;
    u:AuthorizationRule;
    i,j:integer;
    w: FileSystemAccessRule;
    
    begin
    
    
    t:=system.Security.AccessControl.FileSecurity.Create('c:\test1.jpg', System.Security.AccessControl.AccessControlSections.All );
    uu:=t.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount));
    
    for i:= 0 to uu.Count - 1 do
    begin
    
    u:=uu.Item[i];
    ShowMessage(u.IdentityReference.Value)
    
    end;
    
    end;
    
    end.
    Имена пользователей в списке ACE выводятся великолепно. Но как прочитать права этих пользователей?! У класса AuthorizationRule нету похожих свойств.
    Полдня гугления привело к совету воспользоваться неким FileSystemAccessRule, но его НЕТ в свойствах-методах-процедурах AuthorizationRule.
    Мысли кончились, осталось просить помощи зала :)

    P.S. Извините за возможную тупость вопроса и возможные ошибки в терминологии.
     
Загрузка...

Поделиться этой страницей