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
,我可以更改信息..
我为 bilgilerController
和 add $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
}
我正在学习 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
,我可以更改信息..
我为 bilgilerController
和 add $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
}