- - PR -
WebServiceについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-01-27 17:04
いつもお世話になっています。
WebServiceのWindows認証についてアドバイスお願いします。 現在テスト的に Excel → WebService → .NET → SQLServer としています。 WebServiceのおいているパソコンではExcelを実行すると思っているように動くのですが そのExcelを別のマシーンに置いて実行するとSQLServerで認証エラーで返ってきます。 認証方法はWindows認証でSQLServerは二つどちらでもないパソコンです。 またユーザはどちらも登録していますが、.NETの処理に移った時点でユーザ名が匿名に 変わっていてエラーになっているようです。WebServiceの処理の時点ではどちらも Windows認証のユーザ名が取得できているのですが、何か原因もしくは根本的に 何か間違っているのでしょうか? | ||||||||
|
投稿日時: 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 | ||||||||
|
投稿日時: 2004-01-27 17:52
質問が下手ですみません。
↑ですが2でdllを実行しています。
1.SQLServer(Windows認証) 2.WebServiceとdllのサーバ&Excelの実行 の場合は動くのですが、 1.SQLServer(Windows認証) 2.WebServiceとdll 3.Exel実行用 の場合はSQLServerの認証エラーで落ちます。 IISの認証で匿名のところはチェックはずしていて、 Web.configもWindows認証に設定しています。 | ||||||||
|
投稿日時: 2004-01-28 13:31
Anonさん、こんにちは。
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 アプリケーションのアクセス許可」には、以下のような記述もあります。
| ||||||||
|
投稿日時: 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 ] | ||||||||
|
投稿日時: 2004-02-03 11:38
返事もらえるかどうかよりも、既出なので探せば答えがありますよ。%SystemRoot%\Tempに対して、ASPNETユーザの書き込み権をあたえる、だったと思います。 | ||||||||
|
投稿日時: 2004-02-03 12:07
Jittaさん返事ありがとうございます。
当たり前のことだったんですね、すみませんでした。 「%SystemRoot%\Tempに対して、ASPNETユーザの書き込み権をあたえる、だったと思います。」 ユーザに読み取りの権限を追加したところ動作しました。 今のところ書き込み権限いらないようなのでこれで動かしてみて 権限がたりなければ書き込み権限を与えたいと思います。 ありがとうございました。 追加 Jittaさんに教えて頂いた方法で権限を追加後、EXCEL実行することができました。 きくちゃんさんの言うとおりSQLServerとIISを同じサーバにしないと駄目なようでした。 ありがとうございました。 [ メッセージ編集済み 編集者: Anon 編集日時 2004-02-03 13:33 ] |
1