我正在构建一个具有多个用户的客户端列表的应用程序。每个用户只能访问他们的客户列表。 (下一步是添加用户允许其他用户访问其客户端列表的功能)。路由保护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