2016-08-16 13 views
0

このC#/ ASP.NET 4.5 Webアプリケーションは特定のURL(www.someurl.com)で動作します。このアプリケーションはローカルで動作し、Visual Studioの「公開Webアプリケーション」機能を使用して、テストサーバーと運用サーバー(Windows 2012 R2およびIIS 8.5)に展開されます。すべての罰金とダンディー。プロダクションサーバーでは、アプリケーションがHTTPS上で実行されるようにSSLが適用されます。基本認証で特定のフォルダ/パス(Webサービス)を保護する

新しいWebサービスがWebアプリケーションに追加され、既に実行中の他のWebサービスの場合と同様に、Webアプリケーションの(サブ)フォルダに配置されます。通常、OAUTH(2)などの方法を使用してWebサービスを保護します。しかし、Webサービスを利用するクライアントは、プログラミング上の制約からセキュリティのために基本認証を要求していました。

私の人生のために、私はこの実行方法を理解しているようです。サーバー上に新しいユーザーアカウントを作成し、IISの基本認証を有効にし、Webサービスが存在するフォルダの「アプリケーションに変換」を使用し、www.someurl.com/folder/to/some/webservice.asmxにアクセスしたときそれは確かに私の信任状を求める。ただし、Webアプリケーションがこのサーバーに公開されてからマーカーファイルであるASMXファイルは、機能していないマーカーファイルとして扱われ、サーバーエラーを返します(The page must have a <%@ webservice class="MyNamespace.MyClass" ... %> directive.

私は間違っていますか?同じ問題につまずく人のため

+0

私は「推測しますアプリケーションプール構成(ASP.NETバージョンを含む)を確認して開始します。 –

+0

すべてのアプリケーションプールは、統合パイプラインモードの(標準).NET 4.0です。アプリケーションに変換されるフォルダ用に設定されたアプリケーションプールは、 'メイン' Webアプリケーションが実行されるのと同じアプリケーションプールです。別のアプリケーションプールを作成したり、Classisパイプラインモードを使用しても、違いはありません。 –

答えて

0

:私はフォルダレベルでIISアプリケーションへの変換を無視し、私のメインのWeb.Configファイルに<location>タグを使用して望んだ:

<location path="folder/to/some/webservice"> 
    <system.web> 
     <authorization> 
      <allow users="?"/> 
     </authorization> 
    </system.web> 
</location> 
関連する問題