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

  • Автор темы Guest
  • Дата начала
G

Guest

#1
Доброго времени суток! 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. Извините за возможную тупость вопроса и возможные ошибки в терминологии.