有一个酒店项目,每个酒店都有一个管理员。
我做了什么:
在用户类型表中,不同类型的用户,如厨师,经理,酒店
如果用户类型是酒店,则意味着它是该酒店的管理员。
现在,对于每一个CRUD和其他功能,我得到这样的酒店ID
$hotel_id = \Auth::user()->hotel_id;
并在每个查询hotel_id
)中检查了此like get user, save user, get invoice,set invoice,check food etc
这是正确的方法吗?
答案 0 :(得分:0)
是的,这是检查用户是否是酒店管理员的正确方法。但是最好使用这个政策:
public function update(User $user, Hotel $hotel)
{
return $user->id === $hotel->user_id;
}
策略是围绕特定模型或资源组织授权逻辑的类。
https://laravel.com/docs/5.5/authorization#generating-policies