2016-12-12 3 views
1

저는 laravel 5.3을 사용 중이며 이전 인증 컨트롤러가 코어 (Illuminate ...)로 이동되었음을 이미 알았습니다. 인증되지 않은 사용자의 경우 App \ Exceptions \ Handler.php에 인증되지 않은 사용자가 "인증"예외를 throw 할 때 호출되는 "인증되지 않은"기능이 있습니다. Laravel 5.3 로그인/승인 작업 만들기

그러나 나는에 매번 사용자에게 성공적으로 로그를 호출해야 또는 토큰 기억 성공적으로 를 인증 된 기능을 넣어는 여기에 발견되지 않았다. 내 예제에서이 함수는 log ip 등의 몇 가지 작업을 수행해야합니다.

어디에서 이러한 함수를 넣을 수 있습니까?

감사합니다.

답변

1

명령 프롬프트에서이 명령을 사용하여 수행 할 수 있다고 생각합니다.

php artisan make:auth 
+0

이미 인증 시스템 (register, login ...)이 잘 작동하고 있습니다. 난 단지 누군가가 성공적으로 로그인 할 때마다 호출되는 사용자 정의 함수를 추가하려고합니다. > JSON ([ '- '보호 기능 인증되지 않은 ($ 요청 포함한 AuthenticationException $ 예외) { 경우 ($ 요청 -> expectsJson()) { 반환 응답() : – Tobi

0

내가 뭔가를 놓친 거지 않는 한, Laravel의 Handler.php을 \ 응용 프로그램 \ 예외에는 "인증되지 않은"기능이없는 5.3

당신은 authorization actions

Laravel 5.3에 보일 것이 인증되어 scafolding 사전 포장.

PROJECT/app/Http/Controllers/Auth 
+0

이 내 Handler.php에서 함수입니다 error '=>'Unauthenticated. '], 401); } \t \t \t \t echo $ request; return redirect() -> guest ('login'); }' – Tobi

+0

그건 내가 생각하기에 사용자 정의 기능입니까? 방금 Laravel Framework 버전 5.3.26을 사용하여 재미있는 프로젝트를 만들었으며 그 기능이 없습니다. 하지만 그건 문제가 아닙니다. – codiiv

+0

https : // laracasts를 수신하는 이벤트 리스너를 만들어야 할 수 있습니다. – codiiv

0

5.3에서 나는 기본 인증을 사용하여 로그인 성공 및 실패 동작을 방금 수정했습니다. 이 요지가 도움이 될 수 있습니다. 실제로 api/login을 사용하여 로그인하고 토큰을 모바일 플랫폼에 전달하는 방법을 단계별로 설명합니다. 그런 다음 토큰을 사용하여 모든 API에 다시 콜백 할 수 있습니다. 반환 값을 수정하여 Json 요청 헤더를 인식하고 사용자를 json으로 다시 보냅니다.

다음은 도움이 될만한 정보입니다. Laravel API Token Help

+0

귀하의 질문에 7 단계와 8 단계가 도움이됩니다. –

0

다음은 맞춤형 인증 솔루션입니다.

class AdminsController extends Controller 
{ 
    public function getLogin() 
    { 
     return view('admin.login'); 
    } 

    public function postLogin(Request $request) 
    { 
     $this->validate($request, ['email' => 'required|email', 'password' => 'required']); 

     if(!Auth::attempt(['email' => $request['email'], 'password' => $request['password']])) { 
      return redirect()->back()->with(['fail' => 'Could not log you in!']); 
     } 

     return redirect()->route('admin.dashboard'); 

    } 

    public function getLogout() 
    { 
      Auth::logout(); 
      return redirect()->route('index'); 
    } 
} 

그리고 routes.php에서

:

Route::group(['middleware' => ['guest']], function() { 

    Route::get('/admin/login', [ 
     'uses' => '[email protected]', 
     'as' => 'admin.login' 
    ]); 

    Route::post('/admin/login', [ 
     'uses' => '[email protected]', 
     'as' => 'admin.login' 
    ]); 
}); 

Route::group(['middleware' => ['auth']], function() { 
    Route::get('/admin/logout', [ 
     'uses' => '[email protected]', 
     'as' => 'admin.logout' 
    ]); 
}); 

는이 코드 주위에 얻을 것이 도움이되었다 있기를 바랍니다.