1.单点登录这块是怎么实现的?
使用单点登录一般是分布式或者微服务项目,以下以JWT为例说明下单点登录的解决方案:
1.用户访问其他系统,会在网关判断token是否有效
2.如果token无效则会返回401(认证失败),前端跳转到登录页面
3.用户发送登录请求,返回浏览器一个token,浏览器把token保存到cookie中
4.再去访问其他服务的时候,都需要携带token,由网关统一验证后路由到目标服务
2.权限认证是如何实现的?
一般是使用RBAC权限模型,使用5张表实现(用户、角色、权限、用户角色、角色权限),权限框架一般使用Spring Security或者Apache的Shiro框架
3.上传数据的安全性你们怎么控制?
使用对称加密或者非对称加密实现,给前端一个公钥让他把数据加密后传到后端,后端负责解密后再处理数据。
- 文件很大建议使用对称加密,传输速度较快,不过不能保存敏感信息
- 文件较小时,建议使用非对称加密,安全性更高