JellyBool

17773 经验值

纳尼,你上次深圳面基没有来么?2月19号的时候,当时见了好多深圳的 laravel 开发者呢。

在模型里面直接输出$this->roles?具体的代码是什么?位于什么位置?你确定你的数据库有对应的 role 和 user 关联

你可以把它想象成执行 $this->roles() ,只不过 $this->roles 的话,laravel 就可以帮你取到关联的值了

你仔细看看我的回答:middleware('auth:api');因为这个代码啊

 if (Auth::guard($guard)->check()) {
            return redirect('/home'); // 你改一下这个试试
        }

App\Http\Kernel 的 $middlewareGroups 中的 web:

 'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
            \Illuminate\Session\Middleware\StartSession::class,
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
            // \App\Http\Middleware\VerifyCsrfToken::class, 注释这一行
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
        ],

为什么会跳转到domain/home?

这个是由于 auth:api 引起的啊,就是使用 auth 这个middleware,所以就会默认跳转到 home 这个 url。源码在App\Http\Middleware\RedirectIfAuthenticated 这里的 handle 方法吧:

public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) { // 然后 这里的 $guard 传入的值就是 api 
            return redirect('/home'); // 这里
        }

        return $next($request);
    }

我不太懂api这个概念(感觉一知半解,迷迷糊糊的)。。还有前端和app需要的api可以都放在api.php文件吗

这个目前是 laravel 的推荐,api 和 web 分开,比较好维护