Laravel 5 路线保护Laravel 5.1

Laravel 5 路线保护Laravel 5.1,laravel-5,laravel-5.1,Laravel 5,Laravel 5.1,我正在构建一个应用程序,其中包含多个用户的客户端列表。每个用户应该只能访问其客户机列表。(下一步是为用户添加允许其他用户访问其客户机列表的功能) 我使用内置中间件将应用程序设置为保护列表。URL/客户端仅显示已验证用户的列表。但是,我不知道如何保护客户的详细信息 我在客户端上用hasMany设置了我的用户模型,在用户上用belongsTo设置了客户端 如何保护URL,例如/clients/5,其中5是数据库中的客户端ID,URL显示客户端详细信息?目前,任何经过身份验证的用户都可以使用客户端ID

我正在构建一个应用程序,其中包含多个用户的客户端列表。每个用户应该只能访问其客户机列表。(下一步是为用户添加允许其他用户访问其客户机列表的功能)

我使用内置中间件将应用程序设置为保护列表。URL/客户端仅显示已验证用户的列表。但是,我不知道如何保护客户的详细信息

我在客户端上用hasMany设置了我的用户模型,在用户上用belongsTo设置了客户端

如何保护URL,例如/clients/5,其中5是数据库中的客户端ID,URL显示客户端详细信息?目前,任何经过身份验证的用户都可以使用客户端ID键入url,并查看该客户端详细信息。如果需要,我可以发布代码。但是,我只是希望有人能给我指出正确的方向,让我自己去解决这个问题

编辑-其他信息/代码

这是clientscoontroller.php中的show函数。注释掉的部分是解决此处发布的问题的失败尝试

  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');
}

}

对于初学者,您可以在中间件中使用如下内容:

public function handle($request, Closure $next)
{
    if(($request->id != $request->user()->id) and ($request->user()->is_admin != true))
    {
        exit('Nice try!');
    } 

    return $next($request);
}

您可能还喜欢以下内容:

感谢所有提供帮助的人

我无法工作。因此,我更改了控制器中的show方法,将if语句用作过滤器

以下是我的工作方式:

 public function show($id)
  {
    $client = Client::findOrFail($id);
    if ($client->user_id != \Auth::id())
    {
        return view('welcome');
        //TODO create unauthorized view
    }
    return view('clients.show', compact('client'));
  }

请将您的问题更新为
ClientController@show
/clients/{clients}
路由的控制器?甚至可以插入您的
客户端
模型。我不知道如何从请求视图传递登录的用户id。你能告诉我这一点吗?
$request->user()
是你的登录用户,
$request->id
是你的路由参数,比如
{id}