
暂无个人描述~
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
同问,多用户系统怎么来实现
@wallboy 我把用户账户合并在一个表了 准备以后有时间了研究透了再拆分 :joy:
我的方案是,所有用户的公共信息必须email,name,password,都是用user表,然后在user表中加入role_id, 通过这个字段进行角色区分,然后将其他各个角色的特殊信息分别存储在teacher,student表中,然后通过auth对user进行认证授权。
@jack007 之前我也是这种方案,后来发现这样太不靠谱了,而且user表很乱,还有就是我项目涉及到了不同用户系统,不同权限系统,每个用户系统都可以添加自己所属的权限和子账户,所以单纯的user表实现起来真的,那感觉很酸爽。。。
@wallboy 发现一个新方法,在config/auth.php 中可以配置 新的guard,你给新的guard起个名字即可,比如admin,然后调用的时候,Auth::guard('admin')->check()
你可以试一下
通过不同的auth来进行调用,比如auth('admin')->user(),auth('api')->user()
@jack007
@ibucoin
恩,对,不过dingo api提供的auth中间件不支持多用户认证,必须自己写一个中间件才行
@ibucoin 我这样设置过,但是不行,会使用auth.defaults的默认guard
'defaults' => [ 'guard' => 'web', 'passwords' => 'users', ],
多用户认证,实现逻辑如下:
在 api 入口分好路由组,如 admin,teacher,student三个路由组,三个路由组对应三个 Auth 文件,config/auth.php 中填写
关于dingo中间件不支持多用户,我是这么处理的,在用dingo的api.auth之前 加上自己写的用于切换guard的中间件 如下: