我正在構建一個具有多個用戶的客戶端列表的應用程序。每個用戶只能訪問他們的客戶列表。 (下一步是添加用戶允許其他用戶訪問其客戶端列表的功能)。路由保護Laravel 5.1
我有應用程序設置爲使用內置中間件來保護列表。 URL /客戶端僅顯示經過驗證的用戶列表。但是,我無法弄清楚如何保護客戶的細節。
我有我的用戶模型設置與客戶端上的hasMany和客戶端設置與belongsTo用戶。
如何保護一個URL,如/ clients/5,其中5是我的數據庫中的客戶端ID,URL顯示客戶端詳細信息?目前,任何經過身份驗證的用戶都可以使用客戶端ID鍵入url,並查看該客戶端的詳細信息。如果需要,我可以發佈代碼。但是,我只是想指出一個正確的方向來弄清楚自己。
編輯 - 額外信息/代碼
這裏是ClientsController.php顯示功能註釋掉位爲解決在此發佈的問題一個失敗的嘗試。
public function show($id)
{
//$client = \Auth::user()->clients()->get($id);
$client = Client::findOrFail($id);
return view('clients.show', compact('client'));
}
而且,我的客戶端模型
namespace App;
use Illuminate\Database\Eloquent\Model;
class Client extends Model
{
protected $fillable = [
'bizName',
'bizStreet',
'bizCity',
'bizZip',
'bizEmail',
'bizPhone',
'bizNotes',
'user_id'
];
/**
* A client belongs to one user
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user()
{
return $this->belongsTo('App\User');
}
}
請你與你的'ClientController @ show'或控制器'/客戶/ {客戶}'路線的內容更新您的問題嗎?甚至可能會插入你的「客戶」模型。 – CrackingTheCode