我想使用Gate门面将管理员身份验证添加到我的应用程序中。基本上,如果用户是管理员,我想进行授权,因此如果他是普通用户,他就可以查看所有帖子,所以他只能看到他的帖子。我从laravel官方文档中复制了此代码,但我不理解isSuperAdmin()来自何处以及如何配置它。
Gate::before(function ($user, $ability)
{
if ($user->isSuperAdmin())
{
return true;
}
});
答案 0 :(得分:1)
如您所见,该方法在$user
对象中被调用。因此,您只需要在模型中定义该逻辑即可:
User.php
public function isSuperAdmin()
{
/**
* Here goes your logic to determine which users are "super_admin"
*
* For example, in case you have a'is_super_admin' boolean column
* in your database, you could do:
*/
return $this->is_super_admin;
}