第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

【備戰(zhàn)春招】第8天 SaToken認證與授權

標簽:
SpringBoot

课程名称:SpringBoot2.X + Vue + UniAPP,全栈开发医疗小程序

课程章节:第二章 UNIAPP+Vue3.0+Springboot技术栈分析

课程讲师: 神思者

课程内容:


一、Token认证的原理

传统的单体JavaWeb项目通常采用HttpSession保存登陆成功的凭证,但是HttpSession需要浏览器的Cookie机制配合。也就是说Web项目的客户端只能是浏览器,不可以是APP、机顶盒、智能家电等。

为了让Java项目兼容更多的客户端设备,所以我们要放弃在客户端用Cookie保存SessionId的做法。我们在服务端生成Token字符串,然后交给客户端保存。APP也好、浏览器也好、机顶盒也好,都能保存字符串。每次发送HTTP请求的时候,在请求头上附带Token字符串,SaToken框架就能解析出该Token是否合法,如果没有问题,就允许客户端请求后端的Web方法。

https://img1.sycdn.imooc.com//63ec27850001441b09000147.jpg

即便有人破解了SaToken生成令牌的算法,我们也不用担心,因为我们开启了Redis保存Token副本的功能。如果SaToken检测到请求头的Token在Redis中没有缓存副本,那么这个Token肯定是伪造的,所以就拒绝请求。另外Redis中的Token有过期时间,客户端提交的Token是过期的,SaToken也能判断出来,然后拒绝请求。

二、判断是否登陆

想要判断用户是否已经在客户端登陆,我们在Web方法上添加@SaCheckLogin注解即可。SaToken只要检测到Token是有效的,就会允许HTTP请求调用该Web方法。

无论哪位用户登陆患者端小程序,拥有的权限都是相同的。不存在不同身份的人去登陆患者端小程序,能登陆患者端小程序的人,都是相同身份的人。所以后端Java项目不需要判断他们是否具备不同的权限,这些患者具有相同的权限,因此我们只需要判断他们是否登陆即可。

三、判断是否具有权限

在MIS端登陆的用户可能是超级管理员,也可能是普通医护人员,他们拥有的权限是不同的。所以我们要在hospital-api项目中验证用户是否登陆,而且还要验证他们是否具备相关的权限才能调用某个Web方法。这需要用到@SaCheckPermission注解了。

每当SaToken框架执行到@SaCheckPermission注解的时候,就会调用StpInterfaceImpl类。从里面的getPermissionList()函数中获取用户具备的权限,然后跟注解要求的权限比对。如果用户拥有相关权限就可以调用Web方法,否则就拒绝请求抛出异常。

https://img1.sycdn.imooc.com//63ec287a0001b5a417230870.jpg

课程收获:通过视频加文档结合的方式,熟悉了SaToken认证与授权,期待后续学习!


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優(yōu)惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消