ASP.NET MVCアプリケーションでは、<authentication>
セクションの<system.web>
セクションを介してユーザーをログオンページに自動的にリダイレクトし、承認専用ページにアクセスしようとします。問題は、ツールで使用するように設計されたアプリケーションの途中の1つのアクションが、不正なアクセスに対してまっすぐなHTTP 401応答を返す必要があるということです。実際のHTTP 401コードをこの特定のアクションのリダイレクトなしで返すにはどうすればよいですか?単一ページのASP.NETフォーム認証を無効にする
5
A
答えて
6
次のソリューションが動作するには必要な401コードを生成するためにHttpUnauthorizedResultの代わりに上記の結果を返します。しかし、これは私にとってかなりクルーギーだと感じています。
4
個別のパスに別の<system.web>
セクションを追加することができます。ここでは例を示します。この場合
<configuration>
<location path="Foo/Bar.aspx">
<system.web>
<authorization>
<allow roles="GoodGuys" />
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>
、ページ「フー/ Bar.aspxは」GoodGuys役割を持つ人々に許可されますが、すべての人に拒否されます。
あなたのケースでは、あなたが認証なしですべての許可が必要になる場合があります
public class HttpAuthenticationRequiredResult : ActionResult
{
public override void ExecuteResult(ControllerContext context)
{
var response = context.HttpContext.Response;
response.StatusCode = 401;
response.AddHeader("WWW-Authenticate", "Basic realm=\"whatever\"");
response.Flush();
response.Close();
}
}
あなたはその後、次のことができます。私は全くそれが最適だか分からないが、
<configuration>
<location path="Foo/Bar.aspx">
<system.web>
<authentication mode="None" />
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>
0
私は、望ましくないリダイレクト(基本的に認証が失敗し、エラー情報なしでログイン画面にリダイレクトされていたことに関するメッセージ)を返す必要があった同様のケースがありました。
これは、問題を解決する:これはASP.NETストレートアップした場合は、それが働くだろう
Response.SuppressFormsAuthenticationRedirect = true;
関連する問題
- 1. 単一ページのフォーム認証を無効にする必要があります
- 2. 単一ページの認証を無効にする(ColdFusion)
- 3. ビジュアルスタイル/テーマを単一のフォームで無効/無効にする
- 4. Asp.Net Core - 最も簡単なフォーム認証
- 5. ASP.netのフォーム認証
- 6. フォーム認証Asp.netの
- 7. ASP.NET用のWindows認証とフォーム認証
- 8. 無効にTracの認証
- 9. 単一の要求の証明書検証を無効にする
- 10. MVC - フォーム認証を有効にする
- 11. フォーム認証を既に持っているデータベースの認証 - asp.net
- 12. AngularJs-フォーム検証ディレクティブ。パスワードの確認は常に無効です
- 13. ASP.NET 2.0のフォーム認証
- 14. Deployedダッシュボード認証を無効にする
- 15. 認証パスワードプロンプトを無効にするIIS7
- 16. クエリーコードによるASP.NETフォーム認証
- 17. Asp.net 4.0フォーム認証とFriendlyUrls
- 18. Jmeter&フォーム認証チケット(asp.net)
- 19. ASP.NET MVC - フォーム認証/セッションID
- 20. asp.netフォーム認証チケットslidingExpirationコード
- 21. ASP.NET複合フォーム/ Windows認証
- 22. ASP.NET MVC + Silverlight +フォーム認証
- 23. カスタムASP.NET MVCフォーム認証
- 24. 複数フォームのHTML5フォーム検証を無効にする
- 25. WatiN単体テストでのASP.NETフォーム認証の処理
- 26. どのようにASP.Net MVCウィンドウの単一のビューを認証するには?
- 27. WsFederation認証の無効化
- 28. sqlserverのユーザー用にAsp.netフォーム認証
- 29. 無効なフォーム入力のモデル検証を無効にする簡単な方法は?
- 30. コンソールアプリケーションからASP.Netフォーム認証Webサイトで認証する
、私はASP.NET MVCでその技術を使用するのかは不明です。問題は、should-return-401のURLがmyapp/{routパラメータ}/toolにあることです。私が望んでいたとしても、system.webで指定する方法はありません。 –
* blush *あなたの投稿を読むと「MVC」が表示されませんでした。 – Randolpho
これは認証要素に対して機能しますが、認証では機能しません。次のエラーが発生します。 この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下の特定のエラーの詳細を確認し、設定ファイルを適切に変更してください。アプリケーションレベルを超えてallowDefinition = 'MachineToApplication'として登録されたセクションを使用するとエラーになります。 –