前后端访问权限控制

1,310 阅读1分钟

PS:本文章是写登录功能时的有感而发,无法保证正确,欢迎各位亲朋好友前来补充。

访问权限控制

  • 定义: 在用户输入url或者说发起请求时,后端检测用户是否有权访问该请求,如无权限,则对用户本次访问返回错误信息或者进行特殊操作。

处理方案

  1. 后端配置JWT(JSON Web Tokens)。在用户登录后写入token码到响应头的cookie上,从而实现让客户端接下来的请求都自动携带cookie(需要配置httponly)
  2. 不只是JWT,也可以是其他的,但都需要写入cookie,验证交由后端来做是安全的。
  3. 如果是SSR框架还可以使用自带的中间件,但通常会有一定的限制(比如无法修改响应头)。

思路

  1. 配置路由拦截用户请求
  2. 检测请求地址,如果是无需权限的,则正常响应(比如404页)
  3. 如果请求是需要权限的,并且用户是已经登录的(有相应权限,请求头中带有有效token码),则正常响应页面以及api
  4. 如果请求是需要权限的,但用户并没有相应的权限,则后端返回302状态码让浏览器重定向到登录页(唯一能获取权限的页面)

前端来做权限控制

PS:不建议使用前端来校验

处理方案

  1. 使用本地缓存
  2. 使用cookie

思路

截屏2022-03-14 14.10.51.png