- PR -

偽装によるDBアクセス

1
投稿者投稿内容
Raio
常連さん
会議室デビュー日: 2003/10/21
投稿数: 21
投稿日時: 2005-03-04 19:34
いつもお世話になっております。

ASP.Net Oracle9i(ODP)において下記の現象が発生しており大変困っております。
何か情報がありましたら教えていただけませんでしょうか?

【行いたいこと】
1.ASP.NetからExeを呼び出す(Process.Start)
2.ExeからDBアクセスしてデータを取得
3.DBから取得したデータを他のPCへCSV形式で保存

3.を行うために、[<identity impersonate ]にて偽装を行っています。
DBにアクセスをせずに、データを他のPCへ保存するだけなら問題ないのですが
2.にてExeから、Oracle.DataAccess.dllを使用しているのですが
OracleConnectionなどをインスタンス生成しようとすると
「アクセスが拒否されました。」というエラーが発生します。

ASP.Netからではなく、直接Exeを実行する場合は、問題ありません。
偽装を行わない場合も問題有りません。(ただし、他のPCにファイル保存できません)

何か情報がありましたら、教えていただけませんでしょうか?
よろしくお願いいたします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-03-04 19:50
ASP.NETにOracleへの接続に使われる各種DLLに対する実行アクセス権が無いのではなくて?
NTFSのセキュリティ設定で試しに適当に実行権限を与えてみてください。
_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
Raio
常連さん
会議室デビュー日: 2003/10/21
投稿数: 21
投稿日時: 2005-03-04 19:59
ご回答ありがとうございます。

>ASP.Netからではなく、直接Exeを実行する場合は、問題ありません。
>偽装を行わない場合も問題有りません。(ただし、他のPCにファイル保存できません)
単純にASP.NetからDLLを使用してDBアクセスを行うことは問題なくできるのです。
ExeからのDLLがアクセスできないのです・・・

権限の問題であることは、なんとなく分かるのですが
偽装しなければ問題ないことから、
[<identity impersonate ]の設定の仕方かとも思いますが、よく分かりません。

今は、Web.Configにて

<identity impersonate="true" userName="administrator" password="xxxx"/>

と設定しています。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-03-04 21:48
 Administratorでログインして、実行ファイルをコマンドプロンプトから起動すると、どうなります?
_________________
Raio
常連さん
会議室デビュー日: 2003/10/21
投稿数: 21
投稿日時: 2005-03-04 23:08
ご回答ありがとうございます

Administratorでログインして実行は、正常にできました。

いろいろ調べた結果できる方法が1つありました。
machine.configのprocessModelにて
administratorを設定すれば、問題なく動作します。

理由が分からないのでこれから調べます。

とりあえず、解決しました。
ありがとうございました。
1

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