在一个后台管理系统中,对于一个权限变更的理想处理解决方案是怎样的?

作者站长头像
站长
· 阅读数 10

问题描述

举个例子来说,一个用户登录到后台管理系统后,根据后端返回的权限生成动态路由,然后开始访问系统,用户登出后 resetRoutes,其他用户登录后重新去请求权限但是如何处理改用户登录情况下,该用户的权限被其他用户所更改?

问题出现的环境背景及自己尝试过哪些方法

1、目前解决方案是后端在用户登出账户前,后端还不对当前用户的权限做限制,登出后,重新登录时,再用新的权限限制用户

2、同事建议是实时变更,前端通过 websocket 监听账户权限是否被人修改,websocket拿到变更的消息后,重置权限

个人想问下一个企业后台系统对于登录状态下权限变更的理应是如何处理的?

你期待的结果是什么?实际看到的错误信息又是什么?

回复
1个回答
avatar
test
2024-07-14

没什么理想方案,只是在可用性、可靠性、开发维护成本之间取一个平衡。

我觉得 ws 方案没必要,浪费时间。简单提供几个思路:

  1. 心跳脚本。每隔一段时间请求一次权限。
  2. 附加到其它请求里。如果权限变化,就在任意一次请求时返回新状态。
  3. 完全不变更,除非主动刷新,或者登出再登录。
  4. 401、403 就强制退出。
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容