三户:客户、用户和帐户。
一个账号权限管理系统,主要包括三个元素:账号、角色、权限。我们所要管理的,也就是账号、角色和权限之间的关系。
如果说一个客户使用了多个产品,那么一个客户就会对应好几个用户(即产品)
1.会员体系 (注册,完善信息)
2.账户体系 (金融账户)
3.管理员(账号分配,信息完善审核)
4.服务人员 (注册,完善信息,审核)
会员,服务人员,管理员存储到不同的数据表中
不同的微服务一般是存储在自己的数据库中,独立开发和部署。微服务拆分之前需要先考虑怎么合并.
不同微服务一般分不同的git 仓库托管,方便协作
身份认证和访问控制
用户认证功能和权限控制
jwt-token 和 RBAC
用原生SQL 初始化数据库和数据表
用户登录,注册,信息完善,信息查询,用户管理功能,角色,分组,用户标签,用户操作日志记录。第三方登录,授权体系,积分体系
用户等级,会员系统
Oauth2和jwt是完全不同的两种东西,一个是授权认证的框架,另一种则是认证验证的方式方法(轻量级概念)JWT 适合前后端分离的微服务
内置功能
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持权限。
3. 岗位管理:配置系统用户所属担任职务。
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
7. 参数管理:对系统动态配置常用参数。
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
10. 登录日志:系统登录日志记录查询包含登录异常。
11. 在线用户:当前系统中活跃用户状态监控。
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
14. 系统接口:根据业务代码自动生成相关的api接口文档。
15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
16. 在线构建器:拖动表单元素生成相应的HTML代码。
17. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
权限管理包括用户身份认证和授权两部分,简称认证授权。对于需要访问控制的资源用户首先经过身份认证,认证通过后用户具有该资源的访问权限方可访问。
身份认证,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确。对于采用指纹等系统,则出示指纹;对于硬件Key等刷卡系统,则需要刷卡。
基于角色的权限访问控制(Role-Based Access Control)
角色不能随意删除或禁用。角色是一个中间量
账号、角色、权限。
授权围绕着角色来做,不要在用户上直接授权!
让每一个新建(注册、创建)的用户都有一套默认的角色,让系统分类有序、逻辑通顺。
权限可以分为三种:页面权限,操作权限,数据权限。
用户认证,企业认证
下面是SAM权限系统模型中的一些通用语言:
- 员工:角色的载体,权限的实行者
- 角色:角色是权限集进一步映射。业务系统可动态管理角色,各业务为方便用户使用可提供给默认角色列表,满足不同的员工权限
- 权限点:全局唯一的用来表示某一个功能点对应的权限的状态
- 功能点:逻辑上定义的用来描述系统资源的最小基本单位,每一个功能点都对应唯一一个权限点
- 功能集(权限集):即功能点的集合,有一组功能点按照特定格式进行组合
- API:请求系统资源的通道和动作,拥有功能集属性
- 菜单:将系统资源组织后展示给请求者的入口,拥有功能集属性
- 页面:被当做一种特殊的菜单,拥有URL属性
- 按钮:页面中更细粒度的资源入口,被当作一种特殊的菜单
帐号的两个层级:企业(管理员)帐号、普通帐号
这里需要注意的是2者区别:
- 帐号禁用:在登录系统时多次输入密码错误,系统会因为帐号安全问题暂时把禁用掉。或涉及到帐号被盗等场景需立马禁用,修改密码等操作。
- 帐号停用:员工离职,但是在职时所有的操作记录信息还存在,所以设置为停用。(ps:可以跟人事系统打通,人事那边设置某员工离职后,所有系统账号自动设为停用。)
参考链接:http://www.wulihub.com.cn/go/4Jrn8J/start.html#g=1&p=%E7%99%BB%E5%BD%95%E9%A1%B5%E9%9D%A2&c=1