3

我正在使用MVC4單頁前端和另一臺機器上的WebAPI構建應用程序,該應用程序將json查詢數據直接返回給瀏覽器。身份驗證發生在構建用戶對象的MVC端,該用戶對象爲當前用戶定義一組「canDoX」權限。如何使用單頁來保護WebAPI

問題是如何基於這些權限來保護對WebAPI操作的訪問,而無需在頁面.js收到請求時重新進行身份驗證和授權。

目前的情況是,用戶必須瞭解的API,但如果他們這麼做,他們可以破解任何數據,他們希望通過'/api/myController/myRestrictedAction/123'

任何想法的網址和查詢?我是否應該取消單頁面的想法,並從MVC控制器調用webAPI?

回答

3

HTTP是無狀態的。您必須對每個請求執行授權和身份驗證,並且該頁面上的各種資源通常每頁訪問多次。

根據您的示例,'/api/myController/myRestrictedAction/123'是您暴露給某人的資源。訪問該資源的用戶是否應該能夠訪問它取決於你自己決定。

而不是將用戶訪問隨機端點視爲「黑客入侵」,它實際上是一個應用程序中的錯誤,它允許用戶請求和訪問他應該無法訪問的內容。

相關問題