2014-12-01 192 views
-3

我有一個網站,運行一個NodeJS後端和一個ReactJS前端。所有的前端邏輯都發生在用戶的瀏覽器中,前端訪問後端路由以獲取業務邏輯。目前,我們使用passportjs對用戶進行身份驗證。但是,當用戶登錄時,他或她仍然可以使用Postman之類的東西來打通所有的後端路由,其中​​很多應該是私有的。有沒有一種方法可以確保只有管理員或我們的平臺可以打到我們的後端路線?我認爲這需要某種總是賦予前端邏輯的管理權限,但我想知道是否有最佳做法。與客戶端安全服務器javascript

+0

如果客戶端需要訪問後端,您可以通過正常身份驗證來阻止訪問後端。一旦用戶登錄,沒有任何東西阻止該用戶使用他們的授權憑證通過fiddler或具有相同憑證的類似軟件發送他們自己的請求。 – 2014-12-01 21:30:54

+0

您可以在這裏做的唯一事情就是通過默默無聞的安全性,即使大部分用戶放棄手動操作非常麻煩。沒有隻有瀏覽器具有的魔力。 – FakeRainBrigand 2014-12-02 05:13:00

回答

0

不幸的是,在客戶端通過護照(或其他身份驗證)之後,您可以做的很少,無需建立其他身份即可實現您的服務。

這是更多的應用程序拱/設計領域,所以希望你沒有太多的重構。如果沒有,那麼我會建議您提取服務,以便更加細化地保護它們。例如。對您的服務進行分層,以便在調用某些專用/受保護的業務邏輯之前建立身份。像這樣的框架可能會訣竅:http://loopback.io/