2014-12-01 195 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/