簡體   English   中英

如何為asp.net MVC網站啟用CORS?

[英]How to enable CORS for asp.net mvc web site?

我想在我的asp.net mvc 4網站中為操作啟用CORS。 對於Web API,這是可能的。http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api是否存在針對mvc網站的類似解決方案? 我還希望能夠限制我想要的原始網站。 謝謝

我認為您需要創建自定義授權,如下所示:

/// <summary>
/// Referrer Url Custom Authorize
/// </summary>
[AttributeUsage(AttributeTargets.Class)]
public class ReferrerUrlAuthorize : AuthorizeAttribute
{
    protected override bool IsAuthorized(System.Web.Http.Controllers.HttpActionContext actionContext)
    {
        IList<string> webSitesAllowed = new List<string>() { "http://mywebsite.com", "http://customersite.com" };
        string urlReferrer = System.Web.HttpContext.Current.Request.UrlReferrer.AbsoluteUri;

        //checking if the referrer url exists in your list of sites allowed
        if (!webSitesAllowed.Contains(urlReferrer))
            return false;  //access denied
        return true;
    }
}

並且必須在控制器類中設置ReferrerUrlAuthorize

   [ReferrerUrlAuthorize]
public class HomeController : Controller
{
    public ActionResult Index()
    {
        ViewBag.Title = "Home Page";

        return View();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM