кодесурса
«Laravel

Laravel (5.7) Авторизация

script1adsense2code
script1adsense3code

Разница между аутентификацией и авторизацией

Прежде чем углубляться в изучение процесса авторизации в Laravel, давайте разберемся в разнице между аутентификацией и авторизацией.

При аутентификации система или веб-приложение идентифицируют своих пользователей с помощью предоставленных ими учетных данных. Если он обнаруживает, что учетные данные действительны, они аутентифицированы, или же они не являются.

При авторизации система или веб-приложение проверяют, могут ли аутентифицированные пользователи получить доступ к ресурсам, к которым они пытаются получить доступ, или сделать запрос. Другими словами, он проверяет их права и разрешения на запрошенные ресурсы. Если он обнаруживает, что они могут получить доступ к ресурсам, это означает, что они авторизованы.

Таким образом, аутентификация включает проверку достоверности учетных данных пользователя, а авторизация включает проверку прав и разрешений для ресурсов, которые имеет аутентифицированный пользователь.

Механизм авторизации в Laravel

Laravel предоставляет простой механизм авторизации, который содержит два основных способа: Gates и Policies .

Написание ворот и политики

Гейтс используется для определения, авторизован ли пользователь для выполнения определенного действия. Как правило, они определяются в App / Providers / AuthServiceProvider.php с использованием Gate Gate. Ворота также являются функциями, которые объявлены для выполнения механизма авторизации.

Политики объявляются в массиве и используются внутри классов и методов, которые используют механизм авторизации.

В следующих строках кода объясняется, как использовать Gates и Policies для авторизации пользователя в веб-приложении Laravel. Обратите внимание, что в этом примере функция загрузки используется для авторизации пользователей.

<?php
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 (5.7)
Далее: Laravel (5.7) Шифрование

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code