学习网址:https://www.bilibili.com/video/av75572951?p=255
目录
1、Saas概念
个人saas产品:在线文档、日常管理、博客管理
企业saas产品:CRM、ERP、OA
UML
2、Saas权限
企业租户一般包含字段:公司名称、公司地址、当前版本、续期时间、到期时间、审核状态、当前余额。
saas管理员维护菜单、按钮、api
菜单:动态加载
按钮:是否有权限 。注:不光前端控制显示不显示,后端也要控制。因为前端通过源码可以改代码
API:API接口
表设计结构
用户-》角色-》权限-》资源
3、多租户数据库涉及方案
1、独立数据库
2、共享数据库、独立schema(oracle:oracle用户;mysql database)
3、共享数据库、共享数据表
4、微服务中BaseController的抽取
视频章节:p52
---------------------------------------------------------------------------------------------------------------------------
视频章节:p103
step1、jwt拦截器
step2、BaseController
step3、UserController
5、涉及内容
5.1分布式id生成器
方案一:数据库自增
方案二:uuid 太长
方案三:全局redis 网络开销大
方案四:学法算法 twitter 开源 IdWorker
5.2权限认证机制
1、http Basic Auth
用户名、密码 原始做法
2、cookie
cookie配合session
3、OAuth
三方授权
4、Token Auth
优点:
1、cookie不支持跨域
2、无状态(怎么区分有无状态,主要体现是否存数据)
3、去耦
4、使用移动端
5.3基于JWT实现鉴权
1、微服务下实现无状态
2、实在想在微服务下实现有状态
结合redis实现
到底1好还是2好见仁见智
5.4 shiro
shiro更强大
spring security 对OAuth、OpenId也有支持、Shiro要手动实现
5.5 POI海量数据
用sxssf对象
5.6 人脸登录
参考百度官方API。其实就是通过照片进行注册、检查、认证等。注意照片有两个方式:一种是真实的png、jpg文件,还有一种是dataurl方式,即:dada:image/png;base64 qwertyuioasdfgh1234sdfxcv
5.7结合二维码和手机端人脸识别实现登录
5.8 二维码生成
二维码通过zxing生产
5.9 Freemarker
1、动态页面:替换jsp。jsp要通过编译、解析再呈现,Freemarkeru需要减轻服务器压力
2、页面静态化:高并发适用
3、代码生成器:自动根据数据库元数据生产dao层、pojo等代码