none
「有効なアクセス許可」の確認方法について RRS feed

  • 質問

  • フォルダやファイルへの「有効なアクセス許可」の確認方法について知りたく、よろしくお願いします。
    Explorerなどにおいて

      ファイルやフォルダの[プロパティ]→[セキュリティ(タブ)]
          →[詳細設定(ボタン)]→[有効なアクセス許可(タブ)]

    で得られるユーザー(またはグループなど)のアカウントごとの「有効なアクセス許可」をプログラムで一発で知るためのメソッドやプロパティを探しています。System.Security.AccessControl 名前空間の中から見ていますが、見つけられていません。

    ユーザーやグループの所属関係を辿って一つ一つの AccessRule をチェックしていくことはできるとは思うのですが、自前でやらず、すでに備えられているメソッド等があれば、それを利用するのが正しいものと思われ、もしそれがわかれば利用したいと思います。ファイルやフォルダの「有効なアクセス許可」を、プログラムで一発で知るためのメソッドやプロパティがありましたら教えて戴けないでしょうか?

    何卒よろしくお願い致します。

    2010年5月24日 8:16

回答

すべての返信

  • VS2008利用者様

    GetAccessRulesメソッドを使用してコレクションをたどるというのではだめということでしょうか。

    • 回答の候補に設定 山本春海 2010年5月31日 5:18
    • 回答としてマーク 山本春海 2010年6月3日 7:01
    2010年5月24日 9:36
  • どうもです!

    確かに GetAccessRules() でアカウントごとの AccessRule  を拾って、所望の条件にあうアカウントを選択することはできました。ただし実際には、アカウントの所属関係を調べる必要がありまして、組むのにはそれなりに苦労が要ります。

    というのは、直接的に必要な AccessRule を持つアカウントが存在していなくても、所属するグループ、およびさらにそれが孫として所属するグループ、さらにまたその子孫として所属するグループ、・・・とどんどん所属関係がいくらでも存在してますので、それらを調べつくさないと、<現実に有しているアクセス許可>があるかどうかを知ることはできないからでした。

    そこで、もしかすると、

      ファイルやフォルダの[プロパティ]→[セキュリティ(タブ)]
          →[詳細設定(ボタン)]→[有効なアクセス許可(タブ)]

    で得られるユーザー(またはグループなど)のアカウントごとの「有効なアクセス許可」を、プログラムからでも一発で知るためのメソッドやプロパティがあるのではないか?

    という疑問を抱きました。そこで質問の主旨となったものです。

    こういうものがあれば大変便利なのですが・・・ご存知でしたら教えていただければありがたく。よろしくお願いします!

    2010年5月24日 9:51
  • こんにちは、VS2005利用者 さん。

    おじゃるマル さんからの情報は有効な情報であったかと思いますので、勝手ながら私の方で回答としてマークさせていただきました。
    おじゃるマル さん、情報ありがとうございます。

    参考になった情報や有効な情報には、回答としてマークをお願いしています。今後、このスレッドを参照される方の目にもとまりやすくなりますので、回答としてマークをしてみてくださいね。

    まだ、ご質問が続いているかと思います。
    他の方も、VS2005利用者さんの質問への有効な情報をお持ちの方がいらっしゃいましたら、ぜひ投稿ください。

    お待ちしております。それでは。
                                                        
    マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2010年6月3日 7:08