PS:本文章是写登录功能时的有感而发,无法保证正确,欢迎各位亲朋好友前来补充。
访问权限控制
- 定义: 在用户输入url或者说发起请求时,后端检测用户是否有权访问该请求,如无权限,则对用户本次访问返回错误信息或者进行特殊操作。
处理方案
- 后端配置JWT(JSON Web Tokens)。在用户登录后写入token码到响应头的cookie上,从而实现让客户端接下来的请求都自动携带cookie(需要配置httponly)
- 不只是JWT,也可以是其他的,但都需要写入cookie,验证交由后端来做是安全的。
- 如果是SSR框架还可以使用自带的中间件,但通常会有一定的限制(比如无法修改响应头)。
思路
- 配置路由拦截用户请求
- 检测请求地址,如果是无需权限的,则正常响应(比如404页)
- 如果请求是需要权限的,并且用户是已经登录的(有相应权限,请求头中带有有效token码),则正常响应页面以及api
- 如果请求是需要权限的,但用户并没有相应的权限,则后端返回302状态码让浏览器重定向到登录页(唯一能获取权限的页面)
前端来做权限控制
PS:不建议使用前端来校验
处理方案
- 使用本地缓存
- 使用cookie