泥庭

2013年5月25日

Fileの所有者を取得する

Filed under: .NET — タグ: , — yone64 @ 12:14 AM

Fileの所有者を取得するために、調べ物をしてたのですがどうも難しかったので覚書。

ObjectSecurity.GetOwnerを使うことはわかったのですが、引数に何を渡していいかがわかりにくい。

targetType

所有者を取得する対象となるプライマリ グループ。

Securityまわりのクラスを扱うのになれていないのもあるんですが、System.Typeを引数にとるってのがとってもわかりにくいですね。結局は↓な感じなのですが...。

var fileSecurity = File.GetAccessControl(@"C:\temp\aa.txt");

// NTAccount形式で取得
var account = fileSecurity.GetOwner(typeof(NTAccount));
Console.WriteLine("Account: " + account.Value); 

// SIDで取得
var sid = fileSecurity.GetOwner(typeof(SecurityIdentifier));
Console.WriteLine("SID: " + sid.Value); 

これならまだ、

T GetOwner<T>() where T : IdentityReference

とかの方がわかりやすいかと。

image

コメントする »

まだコメントはありません。

RSS feed for comments on this post. TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

WordPress.com Blog.

%d人のブロガーが「いいね」をつけました。