请教一下前后端分离的鉴权问题

2024-01-29 19:19:55 +08:00
 tjsdtc
最近在思考对于前后端分离的项目的鉴权最佳时机是什么,我们公司是比较常见的接口粒度的鉴权,请求业务接口时如果返回 401 前端就跳登录, 但这样会导致刚进入时先展示初始的页面元素然后再跳转,体验不太好,不知道其它公司都是怎么做的,有什么新思路推荐吗?
1617 次点击
所在节点    前端开发
7 条回复
l4ever
2024-01-29 22:57:51 +08:00
这种情况很常见。
解决方案是路由放在后端。路由和权限数据获取到最后再展示 layout 。否则就显示个全屏的 Spin
IvanLi127
2024-01-30 00:32:10 +08:00
如果是 jwt ,前端直接解析之前存的 jwt 的过期时间,不存在或过期就直接去登录界面,否则 api 401 时去登录。token 没时间的自己存。

上面一般后台用,前台建议做服务端渲染或者混合架构,这样就不存在这个问题了。
zhuoyue100
2024-01-30 10:31:37 +08:00
你们现在出现 401 只有两种情况吧
1. 产品层面定义的应用长时间不操作自动退出
2. 管理在后台修改了用户权限

这两种情况都是不常见的。

如果是某些功能部分用户没有权限,这种应该是前端不会显示的
duan602728596
2024-01-30 10:47:20 +08:00
“如果返回 401 前端就跳登录”可以做成“弹出登录框,登录成功后重新请求接口并返回数据”
chuck1in
2024-01-31 11:56:19 +08:00
op 说的鉴权还是身份认证呢?
一般来说,身份认证用的 http status 才是 401 ,权限方面的鉴定用的是 403 这种比较多见和正规。
CodersZzz
2024-01-31 15:18:54 +08:00
@chuck1in 正解
LanceXie
2024-02-21 16:03:33 +08:00
最佳做法还是路由配置通过后端管理,渲染出来的路由都是有权限的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1012557

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX