何时以及如何检查用户的活跃组织?

时间:2015-12-15 12:12:17

标签: angularjs mobile ionic-framework ionic hybrid-mobile-app

我正在使用AngularJS和Ionic作为前端构建混合移动应用程序。

每个用户都属于某个组织。但是可以在服务器和不同的Web应用程序中更改用户所属的组织。

用户可以在网络应用中做一些事情:

  • 获取有关该组织的数据
  • 发布,提交和删除有关组织的数据

每个都需要API调用才能获取相关信息。

现在我的问题是,何时以及如何检查用户所属的组织?

  • 我应该在每次获取,发布,发送和删除之前发送API调用来检查用户所属的组织吗?
  • 如果是,那么组织这个组织检查的好方法是什么,而不是纠结我所有的其他代码?

1 个答案:

答案 0 :(得分:1)

听起来你正在尝试获得的是用户编辑的权限,以及组织只有当它们属于它时。这应该在服务器端完成,原因如下:

  • 它使访问控制与操作相结合,因此即使客户端存在错误,服务器也可以防止不允许的读取/更改。
  • 它可以阻止恶意用户完全绕过成员资格检查,如果客户是他们执行规则的话,他们就可以这样做。
  • 它避免了您担心的API调用,因为不断需要重新检查用户的会员资格,以及如果会员资格在支票和下一次通话之间发生变化时的竞争条件。
  • 它处理您的Ionic客户端和您的其他Web客户端,并允许您将来扩展到更多客户端,而不必每次都复制检查逻辑。
  • 同样,它允许您在一个位置修改权限逻辑,例如,如果您想区分可以阅读组织的用户和可以编辑它的管理员。

一旦服务器稳固,您只需要几个地方来同步用户的会员资格:

  • 在应用启动时,除非你保留最后一次使用的缓存,这已经足够了。
  • 在他们使用应用程序的某些时间表上,如果成员资格变化频繁,您希望快速同步。也许每当他们访问他们的组织名单时。
  • 当用户在应用中执行某些操作以使缓存无效时,例如加入或离开组织。
  • 当关于组织的API调用失败时,因为用户可能不再是成员。