【问题标题】:How to configure web routes and api routes with multiple authentication in laravel?如何在 laravel 中配置多认证的 web 路由和 api 路由?
【发布时间】:2020-02-19 08:28:03
【问题描述】:

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

例如:我有三种接口之类的。

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

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

3) 管理面板

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

数据库表: 1)用户界面:用户 2) 代理机构:agent_users 3) 管理面板:admins

以及相应的不同型号。

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

我在 laravel 中搜索了更多 API 的正确基础知识,但没有获得类似的信息。

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

提前感谢您的帮助。

【问题讨论】:

标签: php laravel jwt-auth


【解决方案1】:

这是我自己的中间件之一,它会查看经过身份验证的用户是否是管理员。

注意:请务必将中间件添加到 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 并将中间件添加为该组的中间件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-28
    • 2018-11-27
    • 2015-07-31
    • 1970-01-01
    • 2016-06-24
    • 2020-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多