2

让我首先说我确实理解永远不应该尝试在客户端的 javascript 中保护任何东西。我的问题是指一些用户会看到而其他用户不会看到的 UI。通常这个 UI 也绑定了某种逻辑。无论是 Backbone 还是 Ember,根据用户角色显示或隐藏 UI 的不同部分的一些常规做法是什么。

我最初的想法是根据当前登录的用户加载不同的 js。最重要的是,我还想到了异步加载视图模板。不过,我很想听听其他的想法和模式。请记住,这是假设客户端与之通信的后端 API 对于给定用户来说已经是安全的。因此,即使他们要查看安全的 UI 组件,它也无法正常工作。

4

1 回答 1

0

我不确定这是否真的是一个安全问题。无论如何,安全性由服务器处理。当您的应用程序具有不同的模式时,它与您如何组织 javascript 有关。

我认为为这两种模式设置一组完全不同的 javascript 文件并不是一个好主意。您应该尝试将数据和功能分开,并在每种模式下提供不同的数据。即,如果你有一个菜单,不要硬编码所有的菜单项,而是对服务器进行一个ajax 调用并加载菜单项。让服务器根据用户权限提供不同的菜单项。

某些功能当然只在管理模式下相关。把它放在一个单独的文件中就很好了。

于 2012-09-26T20:46:21.547 回答