Php Laravel中用于自定义身份验证的Guard定制

Php Laravel中用于自定义身份验证的Guard定制,php,laravel,Php,Laravel,我已经阅读了用于自定义身份验证的Laravel文档。我研究了Guard认证,如下所示: 防护装置定制 您还可以自定义用于验证和注册用户的“guard”。要开始,请在LoginController、RegisterController和ResetPasswordController上定义一个guard方法。该方法应返回一个保护实例: use Illuminate\Support\Facades\Auth; protected function guard() { return Auth:

我已经阅读了用于自定义身份验证的Laravel文档。我研究了Guard认证,如下所示:

防护装置定制 您还可以自定义用于验证和注册用户的“guard”。要开始,请在LoginController、RegisterController和ResetPasswordController上定义一个guard方法。该方法应返回一个保护实例:

use Illuminate\Support\Facades\Auth;

protected function guard()
{
    return Auth::guard('guard-name');
}
以上部分来自Laravel文档。我已经开发了CRUD操作项目,该操作只能由管理员级别的用户完成。为此,我认为guard定制将是更好的选择。在上述情况下,此处的“警卫名称”是什么?它是被授予管理级别权限的用户的名称吗


还有一种情况是管理员可以将管理员的权限分配给其他用户。由于在Laravel文档中缺乏详细的解释,我不知道如何在上述情况下使用guard。还有什么更好的选择

防护名称
是自定义防护的名称。还有一个关于如何添加您自己的防护()的完整示例

防护装置用于定义不同的身份验证方法(例如,基于会话或令牌的)。对我来说,这听起来像是你在拉威尔寻找大门和政策。通过这些,您可以针对给定资源授权用户。

使用策略时,可以定义筛选器。将在策略上的任何其他方法之前调用此筛选器。因此,使用
before
过滤器,您可以检查用户是否是管理员

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