如何在laravel中通过多重身份验证配置网络路由和api路由?

时间:2019-10-23 06:48:14

标签: php laravel jwt-auth

我正在使用laravel 5.8并准备具有多个接口的应用程序。

例如:我有三种类型的界面。

1)用户界面(最终用户)

2)代理商(系统与最终用户之间的中介者)

3)管理控制台

这三个用户的身份和验证都不同。

数据库表: 1)用户界面:用户 2)代理商:agency_users 3)管理控制台:管理员

以及相应的不同型号。

现在,这里我应该为所有这三个都提供Web界面。以及用于用户界面和代理机构的Rest API,两者都应具有不同的API身份验证。

我在laravel中做了很多搜索,以寻找API的基本原理,但是没有得到类似的信息。

如果有人解决了类似类型的情况,请提出建议。如果需要,将提供更多信息。

谢谢您的帮助。

1 个答案:

答案 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并将中间件添加为该组的中间件