关于前后端分离中token验证问题

我现在搭建一个前后端分离的后台管理页面,前端使用Vue全家桶,用vue-router来处理路由事件,后端语言是node.js,框架是express。后端只负责提供api接口,不涉及处理路由方面的事情。

所以我想请问一下,既然前后端分离了,后端不处理路由问题,那前端如何保证每一个页面都可以验证用户是否有权限访问该页面。


牛魔王的故事
浏览 889回答 1
1回答

斯蒂芬大帝

可以看下passport这个库,它里面有各种应对。另外token最好存在服务器端session,和用户sessionid形成映射.原理基本上是每次用户加载html就去请求一个api去获取/loginuser 信息,node端一看session里没有token就返回 failed,这样你html页面就弹出login页面。用户登录成功后,获得api access token,这token就和seesionID做一个映射还是存在node这一端,页面还是重定向到index.html,html还是自动请求/loginuser这个时候seesion里已经有token了,就能正常拿着token去call 真正的api了获取user信息了,这样你/loginuser返回就是user信息,你就可以把login的页面关闭了。补充一下,真实业务api上都要加一到middleware去check请求是否有效,比如header里是否带有tokeny已经token的有效性。另外最好把鉴权模块和业务逻辑分离
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript