Web应用界面权限控制要点总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/andy_zhang2007/article/details/83409530

概述

这里所说的Web应用界面包含两类界面:

  • 第一类 : UI界面。
  • 第二类 : Web API接口(接口界面一般不面向用户,而是面向浏览器端代码)。

为什么说有这两类界面呢? 原因很简单:这两类界面都对外暴露,无论是暴露给用户还是其他代码访问者。

UI界面,自然不用说了,它通过浏览器暴露给用户用于和系统进行人机交互,这种暴露一般也是UI界面存在原本的目的。而另外一种界面,Web API接口原本是为了浏览器Web逻辑进行正常的服务端数据访问,但实际上,本系统用户有可能通过修改输入URL的方式试图直接访问一些未授权的页面或数据,另外还有一些恶意访问者对这些接口发起一些不怀好意的请求。所以,对于所有这些请求,我们也要做相应的验证和权限检查。

要点总结

UI界面

  • 页面导航菜单树 – 根据用户权限生成针对该用户的页面导航菜单树

  • 修改/删除/禁用/启用/通过/拒绝/撤销等对某些数据实体进行修改性或者控制性操作的按钮/链接

    • 有权限 - 展示且可用
    • 无权限
      • 展示且可用 – 通过请求结果碰撞得到不可操作提示,目标操作被拒绝
      • 展示但禁用 – 看得到但是不可操作
      • 不展示 – 用户看不到该操作选项
  • 页面跳转按钮/链接

    • 有权限 - 展示且可用
    • 无权限
      • 展示且可用 – 通过请求结果碰壁,被提示无权访问
      • 展示但禁用 – 看得到但是不可点击
      • 不展示
  • 页面上权限相关的数据展示区

    • 有权限 - 展示
    • 无权限 - 隐藏
  • 数据列表展示

    用户对一些业务数据的可见性是受控的,比如当地业务负责人只能看到本地的业务数据,那么上海的负责人看到北京地区的业务数据就是个错误。这个问题表面上看页面数据展示问题,如果深入一点考虑到分页过滤等因素,那么在后端服务逻辑查询相应数据的时候,就需要将用户对业务数据的可见性考虑进去。

Web API界面

  • 控制器方法
    • 需要检查用户身份和权限以确保请求符合安全设定

猜你喜欢

转载自blog.csdn.net/andy_zhang2007/article/details/83409530