Laravel 授权

laravel 授权

在前一章中,我们已经研究了laravel中的认证过程。本章向您介绍laravel的授权流程。

 

身份验证和授权之间的区别

在继续深入了解laravel的授权过程之前,让我们了解身份验证和授权之间的区别。

在 身份验证中 ,web应用程序或系统通过定义的凭证来验证用户。如果凭证按照记录进行匹配,则它们通过身份验证,否则它们不会。

当我们描述 授权 这个术语时,它只是描述验证,如果经过验证的用户可以访问为其定义的资源。换句话说,它验证了他们对请求和定义的资源的权利和许可。如果经过认证的用户可以按照定义访问资源,则表示他们已被授权。

因此, 认证 涉及检查用户证书的有效性,并且 授权 涉及检查经认证用户具有的资源上的权限和许可。

 

laravel的授权机制

laravel提供了一种简单的授权机制,其中包含两种主要方式,即 门 和 策略 。

写盖茨和政策

门用于确定用户是否有权执行指定的操作。它们通常使用gate facade 在 app / providers / authserviceprovider.php中 定义。门也是为执行授权机制而声明的函数。

策略在数组中声明,并在使用授权机制的类和方法中使用。

以下代码行解释了如何使用门和策略在laravel web应用程序中授权用户。请注意,在本例中, 引导 功能用于授权用户。


namespace app\providers;

use illuminate\contracts\auth\access\gate as gatecontract;
use illuminate\foundation\support\providers\authserviceprovider as serviceprovider;

class authserviceprovider extends serviceprovider{
   /**
      * the policy mappings for the application.
      *
      * @var array
   */

   protected $policies = [
      'app\model' =--> 'app\policies\modelpolicy',
   ];

   /**
      * register any application authentication / authorization services.
      *
      * @param \illuminate\contracts\auth\access\gate $gate
      * @return void
   */

   public function boot(gatecontract $gate){
      $this->registerpolicies($gate);
      //
   }
}

下一节:laravel artisan控制台

laravel 教程

相关文章