- PR -

ASP.NETの実行権限をCOMの実行権限に引き継ぐには

1
投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2004/05/17
投稿数: 28
投稿日時: 2005-05-19 15:59
お世話になります。

現在ASP.NET+C#で開発しており、内部でC++で作成したCOMのメソッドを呼び出しております。
ASP.NET側の処理ではweb.configにて、<identity impersonate="true" />を指定しており認証を受けたユーザの権限にて処理をしています。ですが、COMのメソッドの内部ではASPNETのアカウントで処理が実行されているようです。
その為、フォルダに対する処理が権限がないため、失敗してしまいます。

ASP.NETの実行権限をCOMの実行権限に引き継ぐことができれば、問題なくいけると思うのですが、そのようなことはできるのでしょうか?また方法はどうすればよいのでしょうか?

ちなみにユーザ名とパスワードをCOMに渡してやれば、APIにて偽装は行えるのですが、Windows認証の場合だとパスワードが取得できないため、それはできそうにありません。

環境:
サーバ:Windows2003,IIS6.0
クライアント:WindowsXP Pro SP1,IE6.0

よろしくお願いします。
未記入
常連さん
会議室デビュー日: 2004/05/17
投稿数: 28
投稿日時: 2005-05-20 10:18
一応回避方法がみつかったので、自己レスします。
ASP.NETのaspxファイルの@PageにASPCompat="true"を書くと
Com内部に実行権限が引き継がれているようです。
ただしパフォーマンスは落ちるので、要注意とありました。

参考:
http://support.microsoft.com/default.aspx?scid=kb;ja;325791#appliesto
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2005-05-20 11:06
引用:

ASP.NETの実行権限をCOMの実行権限に引き継ぐことができれば、問題なくいけると思うのですが、そのようなことはできるのでしょうか?また方法はどうすればよいのでしょうか?



権限の引継ぎとは少し違います&COM コンポーネントの仕様によっては無理かもしませんが、COM+ に登録して、必要な権限で COM コンポーネントを実行するように構成してみるとか。
_________________
// 渋木宏明 (Hiroaki SHIBUKI)
// http://hidori.jp/
// Microsoft MVP for Visual C#
//
// @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/
1

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