网站使用前端的骨干和后端的nodejs

我正在开发一个新的网站,这将是一个单一的分页应用程序与一些对话框/模式窗口。 我想用前台的骨干。 这将使用ajax / websockets调用后端,并使用模板呈现结果的json。
作为后端,我将使用nodejs express应用程序,它将返回客户端所需的json,它将是某种API。 这将不会使用服务器端的意见。
客户将使用Facebook,Twitter等进行身份validation,也可能是自定义registry单。
客户端静态资源(例如css,js和html文件)将由nginx(稍后的CDN)处理。

我现在的问题是:

  • 我怎样才能确定一个给定的用户有权在API中执行某些操作(即删除一个build筑物,创build新的build筑物)? 这是授权问题,我想在login时给用户一个angular色,并根据它来决定他们的权利。 这会工作吗?
  • 类似上面的问题,这个基于angular色的安全性是否足以保证api? 或者我需要添加一些像令牌或请求签名?
  • 这个架构是可以接受的吗?或者我正在过度工程并使之复杂化?

护照是拼图authentication部分的一个选项。 我是开发人员,如果您使用它,请随时向我提出任何问题。

  • 我想给用户一个angular色,当他们login,并根据它决定了他们的权利。 这会工作吗?
    • 是的,这将工作。 从服务器获取用户后,可以检查用户的某个angular色。 然后,您可以根据此angular色显示不同的UI元素。
  • 这个基于angular色的安全性是否足以保证api? 或者我需要添加一些像令牌或请求签名?
    • 这将不够。 任何人都可以跳入控制台,并设置像user.admin = true 。 在您的API中,您需要validation请求中的用户令牌,确保相关用户具有适当的权限。
  • 这个架构是可以接受的吗?或者我正在过度工程并使之复杂化?
    • 至less你应该有一个APIvalidation层。 那样会有足够好的开始,而且不会过度工程化。

对于你的问题的authentication部分,我会使用everyauth这是一个身份validation中间件连接/快递。 它支持几乎所有的oauth-social-network-thingie。

对于angular色pipe理,您可以尝试给节点angular色 。 我没有使用它自己,但它应该帮助你,因为它检查服务器端的angular色。 当然,这只有在您的API在node.js中实现时才有用。 如果情况并非如此,则必须通过node.js应用程序“代理”API调用。

我希望我能帮助你! 🙂