目录
- 单点登录如何实现
- 权限认证如何实现
- 上传数据的安全性如何保证
- 订单表每天新增500W数据,分库分表的方案应该如何设计?
- 订单表每天新增500W数据,分库分表的方案应该如何设计?
- *********************
-
- 项目日志如何采集
- 已经上线的bug如何排查
- 如何快速定位系统瓶颈
单点登录如何实现
单点登录的英文名叫做:Single Sign On(简称SSO),只要登录一次,就可以访问所有信任的应用系统。在以前的时候,一般我们就单系统,所有的功能都在同一个系统上,可以使用session共享将用户信息保存在Session对象中。后来,我们为了合理利用资源和降低耦合性,于是把单系统拆分成多个子系统。多系统即可能有多个Tomcat,而Session是依赖当前系统的Tomcat,所以系统A的Session和系统B的Session是不共享的。解决系统之间Session不共享问题有以下几种方案:
- Tomcat集群Session全局复制(最多支持5台tomcat,不推荐使用)
- JWT(常见)
- Oauth2
- CAS
- 自己实现(redis+token)
JWT参考这篇博客。使用jwt解决单点登录的流程如下:
权限认证如何实现
后台的管理系统,更注重权限控制,最常见的就是RBAC模型来指导实现权限RBAC(Role-Based Access Control)基于角色的访问控制
- 3个基础部分组成:用户、角色、权限
- 具体实现
-
- 5张表(用户表、角色表、权限表、用户角色中间表、角色权限中间表)
-
- 7张表(用户表、角色