在ABP的Web層中實現復雜請求跨域訪問
阿新 • • 發佈:2018-02-11
ces 跨域 clas 實現 control api markdown access 處理
在最近的項目中,後端使用ABP,前端采用React,前後端完全分離。其中大部分接口都通過WebApi層調用,項目中未使用Session。但最後在做一個留言的驗證碼時,使用了Session驗證的方式,所以將驗證碼請求與校驗功能放在了Web層。由於測試階段前後端不同域,涉及到跨域請求的問題。跨域問題可以通過代理等手段解決,但是也可以在後端做些簡單的修改來進行實現。WebApi的跨域處理比較簡單,有官方給出的解決方案。但是Web層一般不涉及跨域,所以自己進行了探索實現。
一、常見方案
在web.config中添加配置
<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/> <add name="Access-Control-Allow-Headers" value="x-requested-with"/> <add name="Access-Control-Allow-Origin" value="*" /> </customHeaders> </httpProtocol> </system.webServer>
在被訪問的控制器上加上AllowCrossSite的Attribute
在ABP的Web層中實現復雜請求跨域訪問