- PR -

ディレクトリ アクセス制御について

1
投稿者投稿内容
SOLOSA
会議室デビュー日: 2008/01/11
投稿数: 16
投稿日時: 2008-02-07 18:14
C#(Framework 2.0)で開発しております。

特定のディレクトリにアクセス権を設定するために、以下のコードで対応しているのですが、対象フォルダ(ABC)の"サブフォルダ(BCD,EFG)"及び"ファイル(sample.txt)"にも同様のアクセス権を設定したいのですが、方法が分かりません。

教えて頂きたく。
宜しくお願いいたします。

sample dir
------------------------------
c:/ABC
c:/ABC/BCD
c:/ABC/EFG/sample.txt
------------------------------

code
-------------------------------------------------------------------------------
FileName:c:\\\\ABC

DirectoryInfo dInfo = new DirectoryInfo(FileName);
DirectorySecurity dSecurity = dInfo.GetAccessControl();
dSecurity.AddAccessRule(new FileSystemAccessRule(Account,Rights,ControlType));
dInfo.SetAccessControl(dSecurity);
-------------------------------------------------------------------------------
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2008-02-07 20:15
対象のフォルダに含まれているフォルダとファイルを列挙し、含まれているフォルダに同じこと(要するに再帰的に)をすれば良いのではないでしょうか?

_________________
囚人のジレンマな日々
ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2008-02-08 10:29
試していないので、何ともいえませんが

InheritanceFlagsとPropagationFlagsも指定するコンストラクタを使用して
FileSystemAccessRuleを作成するばよろしいのではないでしょうか

InheritanceFlagsは「ContainerInherit | ObjectInherit」
PropagationFlagsは「InheritOnly」

をそれぞれ指定すれば良いと思います。

値の詳細についてはMSDNを参照して下さい。
SOLOSA
会議室デビュー日: 2008/01/11
投稿数: 16
投稿日時: 2008-02-12 10:47
ご返答有難うございます。
とりあえず、今回は再帰ループで対応することができました。

有難うございました。
1

スキルアップ/キャリアアップ(JOB@IT)