WebAPI 2アプリケーションには、リモートアクセス(スケジュール管理タスク)を無効にするアクションメソッドがいくつかあります。他の行動方法は公に利用可能でなければならない。この場合、ActionFilter
が最善の策ですか?WebAPI 2のローカルマシンからの要求のみを許可する
答えて
著書「プロASP.NET MVC 4第4版」FROM:
public class CustomActionAttribute : FilterAttribute, IActionFilter {
public void OnActionExecuting(ActionExecutingContext filterContext) {
if (filterContext.HttpContext.Request.IsLocal) {
filterContext.Result = new HttpNotFoundResult();
}
}
public void OnActionExecuted(ActionExecutedContext filterContext) {
// not yet implemented
}
}
私はあなたのサイトのために地元のURLを持っている場合は、クロスオリジンリソース共有(CORS)ことは、あなたを助けると思います。あなたは公開アクションのための起源のリストとあなたの保護されたアクションのための地元の起源のみを適用することができます。
ローカル:
[EnableCors(Origins = new[] { "http://localhost", "http://sample.com" })]
public class ValuesController : ApiController
{
......
}
と確保:たとえば
[EnableCors(origins: "http://localhost")]
public class ValuesController : ApiController
{
......
}
あなたは次のリンクによって、より詳細な情報を見つけることができます。CORS support for ASP.NET Web APIとScope Rules for [EnableCors]
ありがとう提案。私はこのようにすることを考えなかったでしょう。 –
これは、ブラウザからの呼び出しのみを防ぎませんか?開いているポートなどを想定して、オフマシンからのサーバー側のコールは引き続き許可されませんか? – user323774
@ user323774 APIを使用したモバイルアプリを開発しましたが、cors属性(EnableCorsAttribute( "*"、 "*"、 "*");)を有効にする前にAPIにアクセスできませんでした – RredCat
- 1. ローカルマシンからのMySQL接続のみを許可する
- 2. Facebookの許可要求、無限のリダイレクトループ
- 3. Android Marshmallowの実行時アクセス許可のみを要求しますか?
- 4. JavaScriptファイルからのクロスドメインJSONP要求を許可するIIS構成
- 5. 許可を要求しないジオロケーション
- 6. 許可属性を持つコントローラの要求を傍受する
- 7. MVC4の暗号化要求/応答WebApi
- 8. ローカルマシンでのHTTP要求のステータスゼロを克服する方法
- 9. 2種類のユーザーのみを許可する
- 10. FB.ui許可要求は、エラーがスローされますのOAuth2
- 11. 旧式の許可要求画面の表示方法は?
- 12. Facebook(FB.login)は私の許可を要求していません
- 13. オブジェクトをパラメータとするGET要求のテスト(Asp.NET WebApiコントローラ)
- 14. Tomcatでクロスドメイン要求を許可する方法は?
- 15. Node.js:ディレクトリのクライアント証明書を要求する(再試行を許可する)
- 16. WebサーバーソフトウェアがPUT要求とDELETE要求を許可しないのはなぜですか?
- 17. マスターブランチからのみ 'git push heroku master'を許可する
- 18. プログラムの開始時に管理者のアクセス許可を要求する方法?
- 19. MVC3:1つのコントローラはWindows認証を要求し、2つ目は匿名を許可できますか?
- 20. $ http.post - 要求ヘッダーフィールドアクセス制御許可ヘッダーで許可されていません
- 21. YarnException:許可されていないコンテナの開始要求
- 22. アンドロイド:アクセス許可の要求コードが表示されない
- 23. MarkLogicカスタムレストエンドポイントセットアクセス制御 - 許可 - プリフライト要求の起点
- 24. System.Security.SecurityException:プリンシパルアクセス許可の要求が失敗しました
- 25. Facebook認可のすべての拡張アクセス許可を要求するフラグはありますか?
- 26. READ_EXTERNAL_STORAGE許可要求することはできません
- 27. mongooseは複数のデータベース要求を同時に許可しますか?
- 28. PayPal残高からの寄付のみ許可しますか?
- 29. JavaScriptを使用してFacebookブックへのアクセス許可を要求する方法
- 30. 許可READ_EXTERNAL_STORAGEは、常に私は、Android 6.0でのランタイム許可を要求しようとしている
私はあなたが思いますよこの例を必要に応じて動作させる方法を理解してください:) – opewix
良い答えですが、私はそれをたくさん見ています。私は返された '404 Not Found'でいくつかの問題を抱えています。私は '403禁じられた'がより適切であると言うだろう。 – Stefan
@Stefanあなたの質問に答えがあります:https://stackoverflow.com/questions/5649852/asp-net-web-service-i-would-like-to-return-error-403-forbidden – opewix