0

私の現在の作業プロジェクトは、Webブラウザーを介してアクセスできる、内部使用のために実行中のWebサイトの自動更新リストを作成することです。ASPスクリプトを記述し、MetaBase.xmlのXMLデータを読み取り、それをユーザーに表示することで、これを実行できることがわかりました。

スクリプトを作成して、自分の側で作業しています。唯一のことは、ファイルのアクセス許可をカスタマイズする必要があることです(デフォルトでは、システムディレクトリ内のファイルを読み取ることができるユーザーの制限は厳格です)。実装する必要のある権限を理解し、それを機能させました...

...しかし、誰かがIISに変更を加えるたびに、アクセス許可はデフォルトのアクセス許可にリセットされます。

私はこの動作を防ぐためにあらゆることを試みました-このファイルの各アカウントのユーザー権限を変更する機能を削除し(念のために設定したダミーアカウントを除く)、所有権をそのダミーアカウントに変更し、他のすべてのユーザーの権限を削除しましたそれでも、IISに変更が加えられるたびに、所有権はAdministratorsグループに戻り、アクセス許可はデフォルトに戻ります。

これを防ぐ方法はありますか?または、代わりに:この問題への私のアプローチが完全に愚かである場合、誰かがより良いものを提案できますか?

ありがとうございました!

4

1 に答える 1

1

ASP.NET / C#に問題がない場合は、DirectorEntryを使用してサイトのリストを列挙できます。

こちらの同様の投稿を参照してください: C#でIISサイトIDを検索するにはどうすればよいですか?

DirectoryEntry de = new DirectoryEntry("IIS://localhost/W3SVC");
foreach (DirectoryEntry child in de.Children)
{
    if (child.SchemaClassName == "IIsWebServer")
    {
        Response.Write(child.Properties["ServerComment"].Value + "<br/>");
    }
}

権限に関しては、特権アカウントでそのアプリを実行する必要がある場合があります

于 2012-10-03T04:34:28.327 に答える