在Laravel应用程序中如何配置isSuperAdmin()?

时间:2019-01-17 15:30:50

标签: php laravel

我想使用Gate门面将管理员身份验证添加到我的应用程序中。基本上,如果用户是管理员,我想进行授权,因此如果他是普通用户,他就可以查看所有帖子,所以他只能看到他的帖子。我从laravel官方文档中复制了此代码,但我不理解isSuperAdmin()来自何处以及如何配置它。

Gate::before(function ($user, $ability)
{     
    if ($user->isSuperAdmin())
    {         
        return true;  
    }
});

1 个答案:

答案 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;
}