我们有angularjs应用程序,其中我们有与用户关联的不同角色。例如:两个角色是Admin和Local。根据角色,我们为管理员显示一些菜单项,并向管理员添加更多功能/屏幕。
具有Admin属性的userInfo将从登录响应中返回,并根据我们决定要呈现的所有菜单和屏幕的内容。
但是如果我们使用开发人员工具,并设置使用admin属性的断点,并将admin属性设置为true,则用户即使是本地用户也可以访问管理员权限。
总之,谁对javascript代码有所了解可以获得管理员权限。除了缩小代码以防止这种安全威胁之外,还有其他想法
由于
答案 0 :(得分:1)
由于应用程序的前端将在客户端计算机上运行,因此实际上无法阻止用户调试或修改代码。因此,不可能阻止某人欺骗他们的本地应用程序实例,认为它是以管理员身份登录的。
如果您只是想隐藏管理界面,一种可能性是为管理员提供单独的(或附加的)模板,并根据用户的权限限制对这些模板的访问。如果有什么可以从中获得,那取决于你。无论如何,您仍然需要验证在服务器上执行任何特权操作的权限。获取客户端的管理权限绝不能与在服务器端获取它们相同。