2017-07-28 191 views
0

我有一个Laravel 5.4应用程序,其中auth用户属于一个公司, 这是在user->company_id中设置的。Laravel如果模型具有对auth的属性检查

一些其他车型也有COMPANY_ID来自同一家公司可以访问/视图/编辑这些记录,以便不同的用户。

在我的路线我目前使用的资源路线凭什么我如果auth用户可以访问索引,showedit,从相应的控制器updatedestroy方法的一般方法检查?

+0

我建议你在[授权](https://laravel.com/docs/5.4/authorization)上阅读以下Laravel文档。 – fubar

回答

0

可以在所有有它的company_id的车型做一个方法:

public function isOwnedBy($companyId) 
{ 
    return $this->company_id == $companyId ? true : false; 
} 

然后,每当你要编辑,节目......这种模式,您只需之前调用此方法你做吧。假设您有一个“company_id”字段的页面。

$page = Page::first(); // just some random page 

if(!$page->isOwnedBy(\Auth::user()->company_id)) 
    // throw an exception or do something that the user can't continue