# Laravel Auth & Middleware

### Authentication

Laravel auth digunakan agar tidak semua bisa mengakses halaman website kita hanya user(pengguna) yang sudah terdaftar di database (Register) dan login yang dapat mengakses halaman website tersebut

&#x20;

#### Setup Laravel 9 Auth&#x20;

1\. Install node js LTS : <https://nodejs.org/en/>\
\
\
2\. Berfungsi untuk melakukan install package laravel ui

```
composer require laravel/ui
php artisan ui bootstrap --auth
```

3\. Berfungsi menginstall package node modules

```
npm install && npm run dev
```

jika terjadi error silahkan pisah jalankan telebih dahulu npm install setelahnya jalakn perintah npm run dev

### Middleware

**Route Middleware**

```php
Route::get('/', function () {
    //
})->middleware('web');

Route::group(['middleware' => ['web']], function () {
    //
});

Route::middleware(['web', 'subscribed'])->group(function () {
    //
});
```

\
**Controller Middleware**

```php
class UserController extends Controller
{
    /**
     * Instantiate a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');

        $this->middleware('log')->only('index');

        $this->middleware('subscribed')->except('store');
    }
}
```
