我:同学你房间里有这麽多好东西,都不怕被人拿走喔?
同学:拿走? 怎麽可能被拿走,防护措施我都设定好了!!
我: 什麽防护措施? 这麽有自信不怕被我破解?
同学: 我看你是完全不懂喔! 过来我跟你介绍一下
1.里面的资讯已经包含使用者资讯(包括姓名、ID、权限),所以不需重新请求资料库取得资料。
2.更符合设计 RESTful API 时「Stateless 无状态」原则:意味着每一次从客户端向服务器端发出的请求都是独立的,使用者经验证後,在服务器端不会将用户验证状态透过 Session 储存起来,因此每次客户端发出的请求都将带有服务器端需要的所有资讯
3.因为有透过签证产生,因此只要payload一被窜改验证就会发现。
1.header: 含 Token 的种类及产生签章(signature)要使用的杂凑演算法
2.payload: 携带用户资讯
3.signature: 编译後的 Header、Payload 与密钥透过杂凑演算法所产生
1.Authentication: 使用者验证,告诉API 你是谁。
2.Authorization: API会根据储存的资料告诉你,你可以做什麽事情。
3.请求API网址取得资料。
Spring Security的架构图,可以看出Security的底层其实是由很多Filter组成的
AuthenticationProvider: 是Spring Boot 提供的验证介面,他提供了两个功能
authenticate: 对请求设置验证方式
support: 确认验证方式是否适合验证传入的对象
UserDetailService: 是security取得使用者资讯的介面,里面会实作一个方法是loadByUserName
透过username取得使用者资讯(security取得的资讯类别需要继承UserDetails这个类别)
也可以在UserDetails里面设置权限。
最後,让我们先安装mySQL资料库,以便之後实作可储存资料
下载连结 : https://dev.mysql.com/downloads/mysql/
安装教程:https://clay-atlas.com/blog/2019/11/16/mysql-mysqlworkbench-tutorial-download-install-steps/
引用至
五倍红宝石:
https://5xruby.tw/posts/what-is-jwt
JWT机制
https://medium.com/麦克的半路出家笔记/笔记-透过-jwt-实作验证机制-2e64d72594f8
>>: 追求JS小姊姊系列 Day4 -- 我知道很怪,但你不好奇字串姐变身会怎样吗(下)
本篇大纲:Force 原理、引力与斥力、五种作用力、Force的 API 们、六种应用范例 今天要...
Youtube连结:https://bit.ly/2Uv2sBf 在我们还没学资料结构前,通常都用...
Portal 提供一个优秀方法来让 children 可以 render 到 parent com...
决定好学习方向後(台科大资安研究社社课为主),发现他的课程有连续性,直接一口气买了110年上下两个学...
NestJs - Guard 验证分为两种,登入权限验证以及角色验证 举例说明:我们将 API 分为...