2017-02-14 8 views

답변

1

authenticate() 메서드를 사용하면 id은 ID가 아니고 User이라는 의미이므로 사용자 모델이 검색됩니다. 먼저 때문에 the documentation of JWT을 확인하고 무엇보다도 당신이 사용자를 검색해야하고이 충분 적이 :

$user = \JWTAuth::parseToken()->authenticate(); 

그런 다음 사용자가 권한이있는 경우에 당신이 말할 당신의 users 테이블의 예를 들어 필드가있는 경우는 수 admin 말 1 일 0 다음 다음을 수행 할 수 있습니다 생각에

if($user->admin == 1) 
{ 
    $offer = Offer::findOrFail(1); //say id 
    $offer->delete(); 

    return response()->json(["offer" => $offer]); 
} 

return response()->json(['error' => 'you dont have the right to delete this'], 403); 

그냥 약간의 스크래치,하지만 내 최고의 조언은 JWT가 구현되는 방법에 대한 몇 가지 검색을 수행하는 것입니다, 나는 당신의 톤을 찾을 확신 그들 온라인.

+0

여기에 미들웨어를 사용할 수 있습니까? – Darama

+1

물론 미들웨어를 사용하여이 작업을 수행 할 수 있습니다. 따라서 미들웨어에서 인증을 시도하고 성공하면 컨트롤러의 destroy() 함수가 실행될 수 있습니다. 어떻게 이것이 가능한지에 대한 예를 보여줘야한다는 것을 의미합니까? –