私は認証が必要なアプリケーションを持っていますが、アプリケーションに匿名で呼び出すことのできる関連サービスがいくつかあります。呼び出しはhttpHandlerを介して行われ、そのうちのいくつかはワイルドカードを使用します。ワイルドカードを使用していないのhttpHandlersのために、私はweb.configファイルでlocation要素を使用してセキュリティを管理することができます:最初のハンドラについて認証が必要なサイトでワイルドカードを使用するhttpHandlerに匿名アクセスを許可するにはどうすればよいですか?
<httpHandlers>
<add verb="*" path="ProcessFile.ashx" type="..." validate="false" />
<add verb="*" path="DoSomethingElse.*.*.ashx" type="..." validate="false" />
</httpHandlers>
、それは簡単だった(簡潔にするため省略タグ終了):
を<location path="ProcessFile.ashx">
<system.web>
<authorization>
<allow users="?" />
...
ロケーションでワイルドカードが使用されないため、2番目のハンドラは機能しません。私は「ディレクトリ」を使用してみましたが、動作していないよう:
<httpHandlers>
..
<add verb="*" path="test/DoSomethingElse.*.*.ashx" type="..." validate="false" />
</httpHandlers>
<location path="test">
<system.web>
<authorization>
<allow users="?" />
...
は、この作業を取得する方法はありますか?何らかの形で構文が間違っていますか?
これは、私が 'test'ディレクトリを使ってみたときにやっていると思ったことです。構文に欠けているものはありますか? – Peter
これはうまくいきました。私は正しいことがありました。同じ種類の治療が必要であることに気付かなかったスクリプトに隠された別のハンドラがありました。 – Peter