前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >飞冰项目实现登录

飞冰项目实现登录

原创
作者头像
挥刀北上
发布2022-07-18 17:16:44
4670
发布2022-07-18 17:16:44
举报
文章被收录于专栏:Node.js开发Node.js开发

使用飞冰框架实现登录功能,指的不是简单的登录提交,而是包括了鉴权等一些列操作。主要分为如下几点功能:

  1. 前端提交登录后根据返回结果,设置用户的角色。
  2. 用户重新打开浏览器,前面登录过并且token还在,如何处理
  3. token未过期如何处理
  4. 过期后如何处理
  5. 如何根据角色现实不同的菜单,例如admin和user所看到的菜单是不同的。

大致关系图如下:

登录页面登录后,需要同步更新auth和localstorage里面存储的auth信息,而初始化函数也需要同步auth和localstorage,整个应用只有这两处需要同步,其余各处如果需要获取auth信息可以直接使用useAuth来获取,但是在设置auth时,必须同步更新localstorage里面存储的权限信息。

权限信息的数据格式为一个对象,对象的属性值都为布尔值,根据属性来控制组件的访问。

要实现不同的权限看到不同的菜单,我这里设计了两套layout,在layout组件的useEffect里面获取auth,如果不符合当前角色的权限,则直接跳转到登录页面。

登录时除了同步auth和localstorage还需要根据不同的角色导航到相对应的layout对应的路由。

以上便是使用飞冰框架搭建应用的一个小案例希望对你有所帮助。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档