0

这是场景。我正在开发一个单页应用程序:

  • 大部分操作都是通过ajax来实现的。
  • 页面应该在不同的用户登录状态下显示不同的组件(管理员、普通用户、访问者......)
  • 页面中有很多动画。

是否意味着每次点击按钮都需要检查用户是否登录(有些按钮可以展开为菜单,其组件根据登录状态部分显示)?

有没有更好的可能解决方案?

4

3 回答 3

1

根据用户权限使用 UI 对象(例如菜单选项)可能是一个好主意。您的服务器端代码可以返回一些 JSON,其中仅包含当前用户可以看到的菜单选项,并且您使用该对象为该用户构建前端。因此,如果用户单击按钮以展开菜单,您无需检查任何内容,只需显示最初从服务器返回的内容。

每次有人在系统中执行“有意义的”操作(例如重命名对象或请求某些数据或删除某些内容)时,您都应该检查权限。这个检查可以很容易地内置到你的后端 API 中......

于 2013-01-14T02:09:42.163 回答
1

是的你应该。只有服务器知道谁应该和不应该做某些动作。必须在服务器端进行检查。永远不要相信客户。

于 2013-01-14T01:51:02.533 回答
1

是的,为了安全起见,您需要让服务器权威地决定客户端可以做什么和不能做什么。因为 javascript 是在客户端运行的,所以任何人都可以修改它并让它按照自己的意愿运行。服务器由您控制,您必须使用它来确保客户端的任何请求都是有效的,然后相应地执行或拒绝它们。

服务器应该几乎总是以这种方式具有权威性。

于 2013-01-14T01:54:14.630 回答