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

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

Наш партнер Genesis Hackspace
  1. Гость

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

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

    Код (Text):
    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. Извините за возможную тупость вопроса и возможные ошибки в терминологии.
     
Загрузка...

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