22

Windows 認証を使用する MVC4 Web アプリケーションがあります。これは web.config にあります。これは正常
<authentication mode="Windows" /> に動作し、すべて問題ありません。

ただし、サードパーティのコンポーネントから匿名でアクセスできるコントローラー (実際には Web API コントローラー) が必要です。問題は、このメソッドを呼び出すたびに、ユーザー資格情報が要求されることです。

コントローラーとメソッドに属性を入れてみAllowAnonymousましたが、うまくいきませんでした。

[AllowAnonymous] public bool Get(string Called, string Calling, string CallID, int direction)

匿名認証と Windows 認証を有効にして、IIS Express と IIS 8 の両方をチェックしました。

Windows 認証は他の認証より優先され、オーバーライドできないようです。

これを達成する方法はありますか?

4

3 に答える 3

19

これを Web.config に追加します。ここで、コントローラーの名前は「WebhookController」です。

<location path="Webhook">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>

詳細については、この KB 記事を参照してください。

編集<authorization>- Erik が後述するように、MVC アプリケーションでは、セキュリティのために web.config タグを 使用しないでください。代わりに、[Authorize]属性を使用してください。そうすることで、[AllowAnonymous]属性が正しく機能するようになります。詳細については、こちらをご覧ください。

于 2013-03-18T20:59:51.317 に答える