我正在使用laravel 5.8并准备具有多个接口的应用程序。
例如:我有三种类型的界面。
1)用户界面(最终用户)
2)代理商(系统与最终用户之间的中介者)
3)管理控制台
这三个用户的身份和验证都不同。
数据库表: 1)用户界面:用户 2)代理商:agency_users 3)管理控制台:管理员
以及相应的不同型号。
现在,这里我应该为所有这三个都提供Web界面。以及用于用户界面和代理机构的Rest API,两者都应具有不同的API身份验证。
我在laravel中做了很多搜索,以寻找API的基本原理,但是没有得到类似的信息。
如果有人解决了类似类型的情况,请提出建议。如果需要,将提供更多信息。
谢谢您的帮助。
答案 0 :(得分:0)
这是我自己的中间件之一,它查看经过身份验证的用户是否是管理员。
注意:请务必将您的中间件也添加到HTTP / Kernel.php
class IsAdmin
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next) {
if (Auth::user() && Auth::user()->admin == 1) {
return $next($request);
}
return redirect('/');
}
}
之后,您可以在路由中使用RouteGroup并将中间件添加为该组的中间件