公司有很多内外部的系统, 涉及到的用户大致分为三个大类。 一是内部公司用户,二是对外服务的各企业级用户,三是对外提供服务的公众用户。
具体需求如下:
公司想做一个用户中心,包含内外部各系统。
内部用户可以访问一部分的内部使用系统,包括公司内部流程系统,例如:业务系统,广告管理系统 CMS系统等。涉及到内部公司人员。这部分系统都需要单点登录,用户可以在几个系统上切换使用各系统。
各企业级用户是公司对外提供产品及服务的对象,一般是一个公司性质的。其中包括一些对外提供的接口服务,涉及到各企业用户需要支付购买我司一些产品。
对外提供服务的公众用户,一般是指我司一些对公众提供服务的网站需要登录,也涉及到一些支付类的操作。
基本Blade的用户系统是否可以满足公司对于用户管理的需要? 这些分类用户是否需要单独一个表与系统的用户表分开? 还是说 现有系统的用户表完全可以满足需求, 只需要在此基础上做逻辑区分?
目前blade以及有了针对不同类型用户的判断,只需要自行拓展就可以满足。具体分为两种:
1. 给blade_user增加一个category字段,用来标注对应的用户类型,然后在请求token的时候获取这个category,后端进一步根据分类来控制权限。
2. 各个不同的用户新建不同的用户表,在获取token的时候切换表来查询信息,然后在生成的token内加入分类的字段即可
个人更推荐第一种方式,因为blade_user相当于是基础用户表,几乎适用于所有场景的用户。在此之外其他类型的用户要更多字段的时候,新建一个用户子表,比如blade_user_web、blade_user_app、blade_user_admin等等,以用户表id为外键做索引,这样一来,整个用户体系就很灵活,也可以直接使用blade内置的api了。
具体用户类型判断可以看如下截图
扫一扫访问 Blade技术社区 移动端