Laravel授权策略 
                                                    
                        
                    
                    
  
                    
                    1、创建授权策略
php artisan make:policy TestPolicy
***生成的授权策略文件都会被放置在 app/Policies 文件夹下
2、创建策略方法
public function Test(User $currentUser, User $user)
    {
        return $currentUser->id === $user->id;
    }
***Test 方法接收两个参数,第一个参数默认为当前登录用户实例,第二个参数则为要进行授权的用户实例。当两个 id 相同时,则代表两个用户是相同用户,用户通过授权,可以接着进行下一个操作。如果 id 不相同的话,将抛出 403 异常信息来拒绝访问。
3、注册授权策略
***app/Providers/AuthServiceProvider.php文件中修改
public function boot()
    {
        $this->registerPolicies();
        Gate::guessPolicyNamesUsing(function ($modelClass) {
            return 'App\Policies\\'.class_basename($modelClass).'Policy';
        });
    }
4、控制器中使用
$this->authorize('Test', $user);
                        
                        本作品采用《CC 协议》,转载必须注明作者和本文链接
          
                    
                    
          
          
                关于 LearnKu
              
                    
                    
                    
 
推荐文章: