2004年05月04日
川俣晶の縁側ソフトウェアMagSite1開発日誌total 3860 count

MagSiteManからIISを管理できない問題とその解決

Written By: 川俣 晶連絡先

 IISのWebサイト一覧を出力するサンプルソース (ADSI経由)などというものを書いた直後、もちろん、このコードとほぼ同じものを、開発中のMagSiteMan(MagSite1の管理ソフト)に入れました。

 ところが、何と言うことでしょう。

 権限がないと言って、エラーで動きません。

 試しに、ASP.NETを実行するアカウントであるASPNETを、Administratorsグループに入れてみました。(良い子は絶対に真似してはいけないぞ)

 それでもエラーになりましたが、マシンをリブートすると動くようになりました。

 と言うわけで、ASPNETにADSI経由でIISを管理できる権限がないことが問題であることが、ほぼ確定しました。

 これは頭が痛い問題です。ASPNETは(基本的に)すべてのASP.NETプログラムの実行に使われるアカウントですから、うかつに強力な権限を与えたくはありません。一時は、ASP.NETはやめて、スタンドアロンのGUIアプリケーションにしないと駄目か、とまで思いました。

 しかし、きちんと調査する前に結論を先走っても益はないと思いながらも、あまり期待しないで検索してみると。

 こんなに有益なマイクロソフト サポート技術情報がすぐに見付かりました。

[HOWTO] ASP.NET で System.DirectoryServices 名前空間を使用する方法

 いくつかの原因と解決方法が述べられていますが、以下の方法で問題なく対処できることが分かりました。(Windows XP, Windows Server 2000, Windows 2003 Serverで動作確認)

デフォルトでは、すべての ASP.NET アプリケーションは基本プロセス アカウントである MACHINENAME\ASPNET で実行されます。このアカウントはローカル アカウントであり、Active Directory 内のオブジェクトに対するアクセス許可がありません。IIS に渡される資格情報を使用して Active Directory にアクセスするには、Web.config ファイルを変更して、identity impersonate="true" と authentication mode="Windows" の 2 つのパラメータを含める必要があります。この 2 つのパラメータが存在すると、ASP.NET では IIS から渡された資格情報でコードが実行されます。

 ちなみに、identity impersonate="true"は正しくは<identity impersonate="true" />になります。

 同様にauthentication mode="Windows"は<authentication mode="Windows" />になります。

 どこまでが要素名で、どこまでが属性なのか分かりにくい、あまり嬉しくない書き方ですね。

 翻訳の時に落ちたのかと思いましたが、英語版も同様ですね。

 この修正により、MagSiteManはログオンした権限で動作することになります。必然的に、IISの管理以外の機能もこのアカウントで動作することになります。その結果として、たとえばMagSiteManが作成するディレクトリなどのオーナーはログオンしたアカウントになることが予想されます。しかし、そのディレクトリを使用するMagSite1は、依然としてASPNETで動作します。それが、もしかしたら、何らかのトラブルの原因になる可能性はあり得ます。

 余談ですが、MagSiteManにはディレクトリの書き込み権限の確認コードが既に含まれていますが、同じアカウントで動かなければ確認も意味がありません。

 ちょっとだけ、MagSiteManを稼働させる管理者にスキルを要求することになりそうです。

Facebook

キーワード【 川俣晶の縁側ソフトウェアMagSite1開発日誌
【MagSite1開発日誌】の次のコンテンツ
2004年
05月
10日
動作テストの都合で、MagSite1 0.30をリリース
3days 0 count
total 1651 count
【MagSite1開発日誌】の前のコンテンツ
2004年
04月
26日
携帯電話で見るMagSite1の可能性
3days 0 count
total 1340 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20040504165736
サイトの表紙【MagSite1開発日誌】の表紙【MagSite1開発日誌】のコンテンツ全リスト 【MagSite1開発日誌】の入手全リスト 【MagSite1開発日誌】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.34 (Alpha-Test) Copyright (c) 2004-2018 Pie Dey.Co.,Ltd.