【问题标题】:Laravel 5.3 owner using aboutLaravel 5.3 所有者使用 about
【发布时间】:2017-02-15 18:07:17
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: laravel middleware owner


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-14
      • 2017-03-19
      • 2017-01-25
      • 1970-01-01
      • 2017-01-26
      相关资源
      最近更新 更多