나는 Artisan의 Laravel 인증을 사용합니다. 전자 메일/비밀번호로 로그인하고 싶지만 그 전에는 웹 서비스를 호출하기를 원하므로 웹 서비스의 결과가 true를 반환하고 계속 false를 반환하면 로그인 페이지에서 오류 메시지와 함께 리디렉션됩니다. 어떻게 수행하나요?인증 전에 Laravel
0
A
답변
0
middleware을 사용할 수 있습니다 (예를 들어 문서에서 더 잘 이해할 수 있습니다). 웹 서비스를 호출하는 미들웨어를 app/http/middleware,
으로 작성하십시오. artisan 명령을 사용하여 미들웨어를 정의 할 수 있습니다. php artisan make:middleware Webservice
<?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);
}
}
그리고 다음과 같은의 $ routemiMiddleware 속성 내부를 icluding하여 미들웨어를 등록;
protected $routeMiddleware = [
//other exisiting middleware
'webservice' => \App\Http\Middleware\WebserviceMiddleware::class,
];
지금
Auth::routes()->middleware('webservice');
는 이제 웹 서비스 반환 값은, 다음과 같은 web.php 내부의 middlware 내부
Route::group(['middleware' => 'webservice'], function() {
Auth::routes();
});
나에 의하여를 laravel 기본 인증으로 인증 경로를 넣어 진행하기 전에 평가.
+0
당신이 더 명확한 설명을 할만한 자격이 있거나 요구 사항을 제시하면 답변을 수락 할 수 있습니다. –
스택 오버플로에 오신 것을 환영합니다. [좋은 질문이 있습니까?] (https://stackoverflow.com/help/how-to-ask) 및 [Minimal, Complete, Verifiable 예제를 만드는 방법] (https : // stackoverflow)을 읽어보십시오. co.kr/help/mcve) 스택 오버 플로우 콘텐츠를 최상위 수준으로 유지하고 적절한 답변을 얻을 수있는 기회를 늘릴 수 있습니다. 지금 가지고있는 코드를 여기에 붙여주세요. – sebast26