0

私はMVCの初心者ですが、カスタムアクションフィルターになり、コントローラーまたはアクションメソッドレベルで使用できるカスタム属性を開発したいと考えています。リクエストが同じドメインまたは別のドメインからのものであることを確認します。ドメインが異なる場合、不正なエラーが発信者に送信されます。

属性のように見える

[IsRequestFromSameDomain]
public class HomeController : Controller {
  public ActionResult Index() {


  }
}

発信者が別のドメインからコントローラーまたはアクションメソッドにアクセスできないことを理解できる場所からエラーコードとエラーメッセージを送信したい.

もう1つの最も重要なことは、属性がコントローラー全体に使用できること、または任意のアクションメソッドに使用できることです。どうすればそれができるか教えてください。ありがとう

4

1 に答える 1

2
public class IsRequestFromSameDomainAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if(filterContext.HttpContext.Request.Url.Host != filterContext.HttpContext.Request.UrlReferrer.Host)
        {
            //The HOST is not the same, so you need to redirect to an error view or something like that
        }
    }
}
于 2013-11-13T13:57:34.650 に答える