想象一下個人筆記應用程序。用戶可以添加,查看和編輯自己的筆記,但不能添加屬於其他用戶的筆記。Laravel - 只允許筆記的所有者查看並編輯它:中間件或FormRequests?
該票據的訪問是這樣的:app.dev/notes/{id}
所以很自然,如果我自己是有140
ID的音符,但更改ID,160的網址,我將能夠查看此說明。
我想防止發生這種情況。我想過爲此使用中間件,但我讀過人們說我們不應該使用中間件,因爲它不靈活,我應該使用FormRequests。
問題是,我不明白我在這種情況下如何使用FormRequests。我已經使用FormRequests來防止用戶從編輯不屬於他們的筆記。如果我擁有ID爲140
的筆記,並嘗試編輯/張貼ID爲160
的筆記,我的表單請求不會讓我這樣做。
但這FormRequest實際上並沒有阻止我與160
ID查看備忘。
有人可以請我指出正確的做法嗎?
謝謝
請在這裏添加最相關的部分。 – CSchulz
創建和註冊您的策略 後,您可以像 '公共功能接入(用戶$用戶,注意$注) { 回報$用戶>的東西ID === $注意 - > USER_ID; }' 然後在你的方法 '如果(!$用戶'不能( '訪問',$注)){ \t //拋出錯誤或重定向別處 \t}' –
作爲你的答案的一部分, 請。 – CSchulz