Laravel如果模型具有对auth的属性检查
问题描述:
我有一个Laravel 5.4应用程序,其中auth用户属于一个公司, 这是在user->company_id
中设置的。Laravel如果模型具有对auth的属性检查
一些其他车型也有COMPANY_ID来自同一家公司可以访问/视图/编辑这些记录,以便不同的用户。
在我的路线我目前使用的资源路线凭什么我如果auth用户可以访问索引,show
,edit
,从相应的控制器update
和destroy
方法的一般方法检查?
答
可以在所有有它的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
我建议你在[授权](https://laravel.com/docs/5.4/authorization)上阅读以下Laravel文档。 – fubar