Laravel 5.3 所有者正在使用

Laravel 5.3 owner using about

我正在学习 Laravel 5 并成为 Laravel 会员 auth:

php artisan make:auth    ,
php artisan make:controller bilgilerController --resource

它显示区域 public 但编辑和更新区域必须是私人的,所以如果我登录到我的帐户并更改数据,我的个人资料被编辑而不是其他人的个人资料。

我的id 1和我的编辑区:xxxxx/bilgiler/1/edit

但如果我手动更改 URL xxxx/bilgiler/2/edit,我可以更改信息..

我为 bilgilerControlleradd $this->middleware('auth',['only' => ['edit','update','destroy']]; 做了 __construc 但是当我没有登录到其他人的帐户时,我无法访问编辑页面。但是同样,使用 1 id 帐户,我可以访问其他用户的编辑页面。

您只是检查用户是否获得授权。但是您不检查权限。 所以你可以创建自定义中间件,或者只添加简单的检查。

public function update($id)
{
    if(Auth::user()->id != $id)
    {
        // return Access error here
    }

    // Update profile here
}