删除larval中的用户帖子(5.2)

时间:2016-07-04 01:05:34

标签: php laravel

用户应该能够删除他们创建的笔记。

到目前为止,我有一个删除链接,其中包含auth中间件。

<suite name="TEST-SUITE" verbose="10"> 
  <test name="YSCBBB AUTOMATION">
    <classes>
      <class name="src/test/java.Login"> 
      </class>
    </classes>
  </test>
</suite>

在我的笔记控制器中,我有这个功能来处理删除。

 //AUTH GROUP
 Route::group(['middleware' => 'auth'], function () {

    //MY NOTES
    Route::get('auth/notes', 'Auth\NotesController@index');

    //DELETE NOTES
    Route::get('auth/notes/{note}/delete','Auth\NotesController@delete');

    //EDIT NOTES
    Route::get('auth/notes/{note}/edit','Auth\NotesController@edit');
});

然而。我注意到任何用户都可以通过更改删除路由中的注释ID来删除其他用户注释。

我想为用户的笔记创建一个安全的删除链接,任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以在此处执行发布请求而不是删除,然后使用请求类的authorize()方法检查注释是否与登录用户实际相关。像这样:

if( Note::where('id', $note_id)
       ->where('user_id', Auth::user()->id)
       ->exists();
  )
       return true;
  return false;