1. 程式人生 > >Html+JS+PowerShell打造Web版AD管理系統(二)

Html+JS+PowerShell打造Web版AD管理系統(二)

跨域 owin powershell restful Webapi

最近發現gihub上早已有人把powershell的restful webapi做好了,而且是自宿主的owin。比上次用到的httplistener健壯許多。貌似還是支持job,runspace的。
https://github.com/DimensionDataCBUSydney/PowerShell.REST.API

過程其實比較簡單,html不用變,js只需要把拼裝webapi url的地方修改下就好,後臺的powershell webapi整個替換掉就ok了。

下載源碼,直接生成即可。我用的vs2017。然後就可以直接使用了,唯一的問題就是跨域。

一開始在jquery.ajax用jsop,但debug的響應裏能看到返回的json對象,可是ajax就是接收不到,也就無法在頁面顯示,而且console.log(返回的json對象);裏面完全沒有responseText

網上搜的大部分都沒什麽用。

前端不行那就只好改後端了。主要是不想修改人家已經成熟的代碼,怕會有問題發生,但沒辦法。
經過一番研究,最終確定,要在owin中加入跨域的代碼:
1.安裝 Microsoft.AspNet.WebApi.Cors
2.DynamicPowerShellApi.Owin的Startup.cs 加入 using System.Web.Http.Cors;
3.line116處加入跨域配置 config.EnableCors(new EnableCorsAttribute("", "", "*"));

然後重新生成,就可以了,多了10個警告回頭再說- -~,經過測試,跨域問題解決。頁面可以正常顯示。

Html+JS+PowerShell打造Web版AD管理系統(二)