在Laravel认证之前

在Laravel认证之前,laravel,web,service,login,laravel-artisan,Laravel,Web,Service,Login,Laravel Artisan,我使用Artisan的Laravel认证, 我想用电子邮件/密码登录,但在此之前我想调用一个web服务,因此web服务的结果返回true,登录将继续,但如果返回false,它将在登录页面中重定向,并显示错误消息。 如何做到这一点?您可以使用(文档中的示例将使您更好地理解)来实现这一点。在app/http/middleware中编写一个中间件调用您的web服务,如下所示: 可以使用artisan命令定义中间件php artisan make:中间件Web服务 <?php namespace

我使用Artisan的Laravel认证, 我想用电子邮件/密码登录,但在此之前我想调用一个web服务,因此web服务的结果返回true,登录将继续,但如果返回false,它将在登录页面中重定向,并显示错误消息。 如何做到这一点?

您可以使用(文档中的示例将使您更好地理解)来实现这一点。在app/http/middleware中编写一个中间件调用您的web服务,如下所示:

可以使用artisan命令定义中间件<代码>php artisan make:中间件Web服务

<?php

namespace App\Http\Middleware;

use Closure;

class WebserviceMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {   
        // get return value of the web service
        $return_value = webservice.call();

        if (!$return_value)
        {
            //if return value is false define the redirect to login route
            return redirect('/');
        }

        //else let the request to be proceeded.
        return $next($request);
    }
}
现在,将laravel默认身份验证的身份验证路由放在web.php中的middlware中,如下所示:

Route::group(['middleware' => 'webservice'], function () {
    Auth::routes();
});
或者

Auth::routes()->middleware('webservice');
现在,webservice返回值在继续之前进行计算

您可以使用(文档中的示例将使您更好地理解)来实现这一点。在app/http/middleware中编写一个中间件调用您的web服务,如下所示:

可以使用artisan命令定义中间件<代码>php artisan make:中间件Web服务

<?php

namespace App\Http\Middleware;

use Closure;

class WebserviceMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {   
        // get return value of the web service
        $return_value = webservice.call();

        if (!$return_value)
        {
            //if return value is false define the redirect to login route
            return redirect('/');
        }

        //else let the request to be proceeded.
        return $next($request);
    }
}
现在,将laravel默认身份验证的身份验证路由放在web.php中的middlware中,如下所示:

Route::group(['middleware' => 'webservice'], function () {
    Auth::routes();
});
或者

Auth::routes()->middleware('webservice');

现在,webservice返回值在继续之前进行计算

欢迎来到Stack Overflow-很高兴有你。请阅读并帮助将堆栈溢出内容保持在尽可能高的级别,并增加获得适当答案的机会。请在这里粘贴您现在拥有的代码。欢迎使用堆栈溢出-很高兴拥有您。请阅读并帮助将堆栈溢出内容保持在尽可能高的级别,并增加获得适当答案的机会。请把你现在的代码贴在这里。