我正在構建一個mvc應用程序,我正在製作一個api控制器以允許來自我的一些前端頁面的ajax請求。我想限制api控制器操作只允許來自我的服務器的請求(所以人們不能從他們自己的站點調用我的api)。mvc web api只允許來自同一服務器的請求
經過一番周圍搜索,我發現了許多解決方案提出了一個自定義的授權屬性,這是我做:
public class LocalRequestOnlyAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase context)
{
return context.Request.IsLocal;
}
}
,然後用[LocalRequestOnly]
它正常工作在本地主機上把它扔到了我的控制器動作,但我的AWS服務器上,這是行不通的,Ajax請求回來爲錯誤
編輯 - 詳細:
我正在使用具有相對路徑的主機名。所以我的ajax調用的網址是「/ api/getdata」。 我沒有設置任何ajax請求標頭。 我回來的錯誤是No 'Access-Control-Allow-Origin' header is present on the requested resource.
你有更多的信息嗎?你使用IP或主機名連接? AJAX請求標頭是什麼樣的?返回的錯誤是什麼? – murtuza
細節增加 – blubberbo