- - PR -
アクセス権について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-09-05 09:56
現在、VS2005(vb.net)で開発を行っているのですが、お聞きしたい事があります。
以前の過去ログを参照しても同じようなものがあったのですが、 解決していないようだったので質問させて頂きます。 現在イベント処理時にログを出力したり、ファイルを別サーバにアップロードする為、 Web.configでユーザの偽装を行って処理しております。 別の処理でWebサーバ内にあるEXEを起動するものがあるのですが、起動はするのですが レジストリを読みにいく箇所で以下のエラーとなります。 (EXEはVB6で作成したものです) 「-2147221168オートメーション エラーです。レジストリのキーを読み取れませんでした」 ・Web.configでのユーザ偽装を削除すると正常に動作します。 偽装ユーザを「administrators」グループにしたり、レジストリの全てのキーに アクセス許可を与えますが上記エラーとなり実行できませんでした。 関係ないですが、Diagnosticsを使用してEXE起動しているのですが、 UserName・Passwordを設定してStartを実行しても 「アプリケーションを正しく初期化できませんでした」のエラーとなり 実行できませんでした。 明らかにユーザのアクセス権の問題だと思われるのですが、 対応方法を知っておられる方がおられましたら教えて頂けないでしょうか。 | ||||
|
投稿日時: 2006-09-05 20:56
なぜかは調べていないけど、出来ないんだよね。。。
で、局所的に偽装すると、いけるんだな、これが。→ http://blogs.wankuma.com/jitta/articles/30483.aspx | ||||
|
投稿日時: 2006-09-05 21:14
たぶん違います。 アクセス権の問題ではなく、仕組み上の問題だと思います。 最近別スレッドでも書きましたが、Windows サービスはユーザプロファイルを読み込まない状態で起動されます。 IIS の基本機能にユーザプロファイルは不要ですから、IIS 自体積極的にユーザプロファイルを読み込むような造りにはなっていないのでしょう。 そしておそらく、Web.config による偽装を行っても、ASP.NET ランタイムはユーザプロファイルを読み込まれないんでしょう。 | ||||
|
投稿日時: 2006-09-06 01:05
[追加]User profile の問題ということに間違いは無いでしょう。[/追加] ここに結構詳しい解説があります。 セキュリティ保護された ASP.NET アプリケーションの構築 : 認証、認定、および通信のセキュリティ保護 [追加] ということで、Web.config で偽装を行った場合、LOGON32_LOGON_NETWORK で logon されるため profile が読み込まれないというのが真相のようです。 [/追加] [若干編集] ただ、Windows Service 自体は user profile を読み込んで実行しています。 もっとも、Windows Service を起動する規定の account 'Local System' は user profile 自体が存在しないので例外になるでしょうがね。 [/若干編集] [ メッセージ編集済み 編集者: ちゃっぴ 編集日時 2006-09-06 03:02 ] | ||||
|
投稿日時: 2006-09-06 02:52
その source だと LOGON32_LOGON_INTERACTIVE で logon していますね。 この方法だと profile が読み込まれると思います。 LogonUser ちなみにちょっと調べてみるとこんな情報も見つけました。 セキュリティ保護された ASP.NET アプリケーションの構築 : 認証、認定、および通信のセキュリティ保護 XP 以降だと SeTcbPrivilege なくてもいけちゃうのね。 [追加] LogonUser (English) [ メッセージ編集済み 編集者: ちゃっぴ 編集日時 2006-09-06 02:57 ] | ||||
|
投稿日時: 2006-09-06 08:59
皆様本当にありがとうございました。
大変参考になりました。 なるほど、profileですか・・・ 仕様から再度検討します。 | ||||
|
投稿日時: 2006-09-06 09:04
必ず読み込まれるわけじゃないですよね? 「デスクトップとの対話を許可」してるなら読み込んでもよさそうですが、そうでない場合は読み込んでくれなかったような。。。 # それとも、ユーザプロファイルとハイブは分けて考えないといけないとか? |
1