@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

WebServiceについて

1
投稿者投稿内容
Anon
常連さん
会議室デビュー日: 2003/10/20
投稿数: 29
投稿日時: 2004-01-27 17:04
いつもお世話になっています。

WebServiceのWindows認証についてアドバイスお願いします。

現在テスト的に
Excel → WebService → .NET → SQLServer 
としています。

WebServiceのおいているパソコンではExcelを実行すると思っているように動くのですが
そのExcelを別のマシーンに置いて実行するとSQLServerで認証エラーで返ってきます。
認証方法はWindows認証でSQLServerは二つどちらでもないパソコンです。
またユーザはどちらも登録していますが、.NETの処理に移った時点でユーザ名が匿名に
変わっていてエラーになっているようです。WebServiceの処理の時点ではどちらも
Windows認証のユーザ名が取得できているのですが、何か原因もしくは根本的に
何か間違っているのでしょうか?
へちま
会議室デビュー日: 2004/01/22
投稿数: 10
投稿日時: 2004-01-27 17:41
ちょっと不明瞭な点を質問です。

.NETの定義が良く分からないのですがやろうとしていることは

1.ExelからWebServiceにアクセスし何か処理する。
2.WebServiceは.NETのプログラム(exe?)を実行する。
3..NETプログラムはDBにアクセスする。

と言う流れでしょうか?
また環境面ですが
PCは3台あって

1.SQLServer(Windows認証)
2.WebService←これは.NET?
3.Exel実行用

ですか?.NETプログラムは2のPC上にあるのでしょうか?

質問だけでごめんなさいw
Anon
常連さん
会議室デビュー日: 2003/10/20
投稿数: 29
投稿日時: 2004-01-27 17:52
質問が下手ですみません。

引用:

1.ExelからWebServiceにアクセスし何か処理する。
2.WebServiceは.NETのプログラム(exe?)を実行する。
3..NETプログラムはDBにアクセスする。


↑ですが2でdllを実行しています。

引用:

PCは3台あって

1.SQLServer(Windows認証)
2.WebService←これは.NET?
3.Exel実行用

ですか?.NETプログラムは2のPC上にあるのでしょうか?



1.SQLServer(Windows認証)
2.WebServiceとdllのサーバ&Excelの実行
の場合は動くのですが、

1.SQLServer(Windows認証)
2.WebServiceとdll
3.Exel実行用
の場合はSQLServerの認証エラーで落ちます。

IISの認証で匿名のところはチェックはずしていて、
Web.configもWindows認証に設定しています。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-01-28 13:31
Anonさん、こんにちは。

引用:

1.SQLServer(Windows認証)
2.WebServiceとdll
3.Exel実行用
の場合はSQLServerの認証エラーで落ちます。

IISの認証で匿名のところはチェックはずしていて、
Web.configもWindows認証に設定しています。


MSDNライブラリ「Visual Basic および Visual C# の概念」-「Windows 統合セキュリティを使用した SQL Server へのアクセス」によれば、Windows 統合セキュリティを使用できる条件として、「IIS と同じコンピュータで SQL Server を実行している」ことが挙げられています。
SQL Server と IIS が別サーバにある場合については、同じく「Visual Basic および Visual C# の概念」の、「マップされた Windows ドメイン ユーザーを使用した SQL Server へのアクセス」あたりを参考にしてみて下さい。

また、Visual Basic および Visual C# の概念」-「Web アプリケーションのアクセス許可」には、以下のような記述もあります。

引用:

メモ ブラウザと Web サーバーを同じコンピュータ上で実行していて、ドメイン ユーザーとしてログオンした場合、IIS コンピュータにはすでにその資格情報があるため、リモート コンピュータへの委任は問題になりません。ブラウザと Web サーバーを同じコンピュータ上で実行することはテスト段階でよくあることですが、実際の運用方法としては非常にまれです。できる限りブラウザと Web サーバーを別個のコンピュータ上で実行して、アクセス許可をテストしてください。


Anon
常連さん
会議室デビュー日: 2003/10/20
投稿数: 29
投稿日時: 2004-02-03 11:30
きくちゃんさん返事遅くなってすみません。
SQLサーバとIISのサーバを同じにして実行しようとすると
WebServiceが動きませんでした。
原因がわからないのでしばらくExcelでの実行のテストはできそうにありませんので
結果わかり次第返事書かせてもらいます。

一応今起こっていることを書いておきます。
誰か同じ現象になった方いたら返事もらえれば・・・

Visual Studio .NETでWebサービスのプロジェクトを新規作成すると
HelloWordがサンプルにあると思うのですが、以下のエラーが表示されます。
「ファイルまたはアセンブリ名 ○○○.dll、またはその依存関係の 1 つが見つかりませんでした。」
○○○.dllの部分は実行するたびに変わります。

環境はWindows2003ServerでFramework1.1です。
ASP.NETなどは現在動いているのでFrameworkなどの問題ではないと思っています。



[ メッセージ編集済み 編集者: Anon 編集日時 2004-02-03 11:32 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-03 11:38
引用:

Anonさんの書き込み (2004-02-03 11:30) より:

誰か同じ現象になった方いたら返事もらえれば・・・


 返事もらえるかどうかよりも、既出なので探せば答えがありますよ。%SystemRoot%\Tempに対して、ASPNETユーザの書き込み権をあたえる、だったと思います。
Anon
常連さん
会議室デビュー日: 2003/10/20
投稿数: 29
投稿日時: 2004-02-03 12:07
Jittaさん返事ありがとうございます。
当たり前のことだったんですね、すみませんでした。

「%SystemRoot%\Tempに対して、ASPNETユーザの書き込み権をあたえる、だったと思います。」
ユーザに読み取りの権限を追加したところ動作しました。
今のところ書き込み権限いらないようなのでこれで動かしてみて
権限がたりなければ書き込み権限を与えたいと思います。
ありがとうございました。

追加
Jittaさんに教えて頂いた方法で権限を追加後、EXCEL実行することができました。
きくちゃんさんの言うとおりSQLServerとIISを同じサーバにしないと駄目なようでした。
ありがとうございました。



[ メッセージ編集済み 編集者: Anon 編集日時 2004-02-03 13:33 ]
1

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