3

クライアントのjqueryメソッドから呼び出され、JSONを返すコントローラーアクションがあります。場合によっては、このアクションから401を返す必要があります。web.configでPreserveLoginUrlがtrueに設定されている限り、401を発行しようとすると、標準MVCはユーザーをログインページにリダイレクトする応答を作成します。特定のアクションでPreserveLoginUrlをオーバーライドして、真の401がクライアントに送信されるようにしたいと思います。ただし、ほとんどのアクションでは、PreserveLoginUrl = trueが正しい動作であるため、これを維持する必要があります。

PreserveLoginUrl = true機能を維持しながら、少数のアクションのリダイレクトなしでtrue 401を達成する方法に関する提案はありますか?今のところ、回避策として401ではなく400を返していますが、NOT Authorizedを発行したいので、これは実際には正しい動作ではありません。

4

1 に答える 1

0

代わりに 403 応答を使用し、応答が 403 の場合は、javascript/jquery メソッドで必要な処理を実行します。ASP.net で 401 応答の組み込みの動作をオーバーライドすることは非常に困難です。

于 2012-10-30T18:32:53.337 に答える