我正在研究100%ExtJS应用程序;浏览器下载所有JavaScript和单个HTML文件一次;之后一切都在浏览器中运行。
当所有面板在启动时渲染(即,当Ext.onReady()触发时)我需要隐藏一些面板,具体取决于用户的权限。 根据用户权限,是否存在在启动时配置GUI的常见/最佳做法?
我认为一个解决方案可能是默认隐藏一些面板。可以在启动时进行AJAX调用以获取用户权限,然后可以取消隐藏面板,具体取决于这些权限。但是,我怀疑有更好的解决方案。
任何提示都将不胜感激。
注意:我知道前端javascript不能被视为安全检查的唯一机制,并且后端应用程序需要验证从前端收到的所有操作。
答案 0 :(得分:3)
为什么不编写一个服务器端脚本,根据用户的身份验证状态输出特权客户端代码?不要让客户端代码获取权限数据并对其进行分支,而是让客户端点击一个输出相应javascript的脚本。
因此,如果您有一个特殊的“SuperAdminPanel”组件,那么客户端看到代码的唯一方法就是它们是否符合您的身份验证感知用户-js脚本,并被识别为超级管理员。
在一般情况下,这样的脚本可以回显出当前经过身份验证的用户级别的相应脚本。它可以很容易地扩展为传递特定于单个用户的代码或配置。