我正在研究 SPA,想知道在页面上显示和隐藏 HTML 元素的最佳方法取决于用户凭据。
我有一个使用 AngularJS 的 RestfulAPI 后端和 JS 重型客户端。获得身份验证后,我希望页面的某些元素变得可见,而其他元素则根据用户被授权执行的操作隐藏。
现在,我通过身份验证从服务器发送一个 JSON 对象,该对象包含一个权限列表(只是一个字符串数组),并根据权限数组中相应键的存在来显示/隐藏元素。
我的服务器端 API 受到保护,并确保在处理每个请求之前 - 用户已授权。
我认为,这将帮助我防止人们篡改我的 HTML 和 JS,并在客户端启用元素并尝试发出他们未经授权的请求。
作为另一个伪安全级别,我确保发送给客户端的权限名称只是实际权限的别名。当 API 尝试授权请求时,它查找的声明的名称不同。
我的问题是 - 这是一种安全的方法吗?
那里有更好的方法吗?
我是否应该仅在仅包含用户有权查看的 HTML 的授权时才从服务器获取 HTML 模板?
如果我的服务器端授权是无懈可击的,那么用户查看所有 HTML 的能力是否重要?