概述
随着业务的发展,很多公司都需要上线多个不同业务的后台运营平台,如后台管理,销售业务系to统,财务系统等。如果每个系统都单独开发一个用户模块,会造成用户数据冗余,运营操作繁琐,开发工作重复等问题,所以需要一套统一用户管理方案来解决这些问题:teedao-rbac
技术栈
- metronic ui模板
- thymeleaf 页面模板
- springboot 容器框架
- oauth2 授权登录协议
- shiro 权限管理框架
- mybatis orm框架
- druid 数据库连接池
OAuth2介绍
OAuth角色
资源拥有者(resource owner):能授权访问受保护资源的一个实体,可以是一个人,那我们称之为最终用户;如新浪微博用户zhangsan;
资源服务器(resource server):存储受保护资源,客户端通过access token请求资源,资源服务器响应受保护资源给客户端;存储着用户zhangsan的微博等信息。
授权服务器(authorization server):成功验证资源拥有者并获取授权之后,授权服务器颁发授权令牌(Access Token)给客户端。
客户端(client):如新浪微博客户端weico、微格等第三方应用,也可以是它自己的官方应用;其本身不存储资源,而是资源拥有者授权通过后,使用它的授权(授权令牌)访问受保护资源,然后客户端把相应的数据展示出来/提交到服务器。“客户端”术语不代表任何特定实现(如应用运行在一台服务器、桌面、手机或其他设备)。
- 客户端从资源拥有者那请求授权。授权请求可以直接发给资源拥有者,或间接的通过授权服务器这种中介,后者更可取。
- 客户端收到一个授权许可,代表资源服务器提供的授权。
- 客户端使用它自己的私有证书及授权许可到授权服务器验证。
- 如果验证成功,则下发一个访问令牌。
- 客户端使用访问令牌向资源服务器请求受保