簡體   English   中英

為指定的客戶端提供一些REST API資源

[英]Offer some REST API resources for specified clients

我認為我們沒有解決問題的方法,但是為了確認我想在這里問您。

我們有REST API,它用於:

  • 管理網站(AngularJS)
  • 客戶網站(AngularJS)
  • 其他REST API客戶端(自己的API應用程序)

由於來自管理/客戶網站的請求是由AngularJS在客戶端發出的,因此用戶能夠(例如通過FireBug)確定資源URL,並能夠從自己的應用程序中使用所有這些資源-我們不希望這樣做,而我們不能用IP地址來限制它,因為請求來自客戶端。 我們只想為客戶/管理網站提供一些資源,為自己的REST API客戶端提供一些資源,為這兩者提供一些資源,但是根據AngularJS發出的JS請求的原理(以及資源​​URL可見性),它是不可能做到的( ?)。

此問題的最佳做法是什么?

注意:您的REST資源應始終安全。 您永遠不應依賴任何客戶端javascript代碼。 如果由於有人知道 REST API的URI而破壞了安全性; 出事

可以將Angular模塊化,客戶只能看到客戶模塊,而管理員可以看到客戶和管理員模塊。 這樣,您可以讓管理員在所見即所得的環境中工作,而無需他們在網站之間來回切換。

// Customers.js
// Module only containing customer code
angular.module('myCustomerProducts', ['myMainApp']);

// Administrators.js
// Module only containing administrator code
angular.module('myEditCustomerProducts', ['myCustomerProducts', 'myMainApp']);

由於您的網站已經被管理員和客戶分開,因此您僅可以包括和部署指定目標網站的javascript代碼。 如果不是這種情況,則需要一些服務器端轉換(例如ASP.NET,PHP,Jade等),以便根據用戶的憑據動態構建index.html。 根據托管平台,在從管理員網站(區域)請求任何內容時,您也可以拒絕對不在管理員組中的所有人的訪問。

但是又 服務器端安全性更有價值。 您無法使用javascript(在客戶端)保護不安全的服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM