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. ViewHolderからの通話の許可を要求する
- 3. WebApi 2 - Json要求保留
- 4. 要求許可ジオロケーションプラグインコルドバ
- 5. Facebookの許可要求、無限のリダイレクトループ
- 6. Android Marshmallowの実行時アクセス許可のみを要求しますか?
- 7. node.js HTTPS要求のすべてのSSLプロトコルを許可する
- 8. JavaScriptファイルからのクロスドメインJSONP要求を許可するIIS構成
- 9. 異なるホストからの応答要求にdjango rest APIを許可する方法はありますか?
- 10. デモモードのときにすべてのAPIコントローラの要求を許可する
- 11. Apache 2:特定のドメインからのフォルダへのアクセスのみを許可する
- 12. 許可属性を持つコントローラの要求を傍受する
- 13. WebApiプロダクションで無許可(401)
- 14. 許可を要求しないジオロケーション
- 15. Lync Serviceはこの起点からのクロスドメイン要求を許可しません。
- 16. ユーザエージェント(クロム)のCORS要求をプログラムで許可する
- 17. WebAPIコントローラから要求を取得する - JWTトークン
- 18. Nginxは、POST、DELETE、PUT要求に* .domain.ac.inのみを許可します。
- 19. 許可を要求せずにACCESS_FINE_LOCATIONの許可に失敗しました
- 20. ローカルマシンでのHTTP要求のステータスゼロを克服する方法
- 21. .NET WebAPIのではない[FromBody]適切要求内容から
- 22. 要求許可ダイアログボックスは、Androidマシュマロで
- 23. PHP - 1つのドメインからのアクセスのみを許可する
- 24. 要求ヘッダーフィールドアクセス制御許可の原点は許可されていません
- 25. スウィフト - 許可されていない場合はコアのロケーション要求許可
- 26. AndroidのUnityPlayerはアクセス許可を要求します
- 27. Xamarinフォームはインターネット許可を要求しますPCLのAndroid 6
- 28. Android Marshmallowがフラグメントのアクセス許可を要求しています
- 29. サービスの許可を求める方法
- 30. プッシュ通知の許可を求める
私はあなたが思いますよこの例を必要に応じて動作させる方法を理解してください:) – 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