2017-02-15 55 views
0

Я учусь Laravel 5 и я сделать членство Laravel AUTH:Laravel 5,3 владелец, используя о

php artisan make:auth , 
php artisan make:controller bilgilerController --resource 

Это показывает область общественности, но редактирование и обновление области он должен быть частным, так что если я вошел в мою учетную запись и изменил данные, мой профиль редактировался, а не чужой профиль.

Мой идентификатор 1 и мой редактировать площадь: xxxxx/bilgiler/1/edit

, но если я изменить URL вручную xxxx/bilgiler/2/edit, я могу изменить информацию ..

я __construc для bilgilerController и add $this->middleware('auth',['only' => ['edit','update','destroy']];, но когда я не вошел в систему для учетной записи elses, я не могу получить доступ к странице редактирования. Но опять же, с учетной записью 1 id, я могу получить доступ к странице редактирования других пользователей.

ответ

1

Вы просто проверяете, что пользователь авторизован. Но вы не проверяете разрешения. Итак, вы можете создать собственное промежуточное программное обеспечение или просто добавить простую проверку.

public function update($id) 
{ 
    if(Auth::user()->id != $id) 
    { 
     // return Access error here 
    } 

    // Update profile here 
}