0

我正在嘗試爲我的前端開發構建一個使用Angular的單頁應用程序,併爲我的服務器端對象和控制器構建WebAPI 2.0。什麼是一些處理安全性的推薦技術。例如,(1)如何通過操縱客戶端源來阻止用戶提升角色?或者,(2)如何禁止用戶在不允許的情況下對api /用戶進行api調用?在單頁角度應用程序中處理安全性的一些技巧是什麼?

回答

2

如果您使用的是WebAPI,那麼您很幸運,因爲它直接與主機身份驗證和授權模塊集成。您可以使用任何內置的驗證模塊(匿名,基本,集成等)或編寫自己的驗證模塊。例如,如果您擁有自定義權限,則可以使用這些權限來更新IPrincipal/IIdentity,並採取適當的措施僅根據用戶允許的內容返回結果。您還可以充分利用授權過濾器。這裏有更多的信息:

http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api

至於客戶端代碼中,有幾件事情,你可以在那裏做。如果您使用的是WebAPI,那麼您可以使用MVC來爲頁面提供服務。在這種情況下,您可以像在典型的MVC應用程序中那樣保護對資源的訪問,以便用戶無法導航到他們不應該訪問的內容。這注意不要渲染受保護內容的一部分,因此用戶永遠不能「破解客戶端」以查看他們不應該看到的內容。

在客戶端本身,您可能擁有基於權限公開各種控件的頁面。在那裏,您可以將權限存儲在客戶端,並使用指令來顯示或隱藏內容(在某些情況下,您甚至可能會從服務器獲取呈現的內容並因性能原因而截斷它,因此如果不顯示該內容)。同樣,這是發生在客戶端上的事情,但仍然不公開安全性,因爲綁定到節點的實際數據來自安全的API。

相關問題