下面由Laravel教程欄目給大家介紹Laravel Jetstream和其使用方法,希望對需要的朋友有所幫助!
介紹
Laravel 8 與 Laravel Jetstream 一起于9月8日發(fā)布。
Laravel Jetstream 是 Laravel 的新應(yīng)用程序擴(kuò)展。Laravel Jetstream 替換了舊版本 Laravel 的舊版 Laravel 身份驗(yàn)證UI。
在本教程中,我將為您簡要介紹 Laravel Jetstream 以及如何開始使用它。
先決條件
如果要繼續(xù)學(xué)習(xí),則需要 LEMP 服務(wù)器以及 composer
或最新的Laravel安裝程序。
我將使用 DigitalOcean 進(jìn)行演示。 如果您還沒有 DigitalOcean 賬號,則可以使用以下引薦鏈接獲得 $100 的優(yōu)惠,可以用于部署服務(wù)器和測試指南:
DigitalOcean $100 美元優(yōu)惠劵
什么是 Laravel Jetstream
Jetstream為您的新項(xiàng)目提供了一個(gè)更好的開始。它包括以下組件:
- 登錄和注冊功能
- 電子郵件驗(yàn)證
- 雙重驗(yàn)證
- Session 管理
- 通過 Laravel Sanctum 提供API支持
Laravel Jetstream 取代了以前版本的 Laravel 身份驗(yàn)證UI。
Jetstream 使用了 Tailwind CSS ,你可以選擇 Livewire 或者 Inertia 組件。
Laravel Jetstream 是免費(fèi)的開源軟件。
安裝 Laravel Jetstream
您可以使用 composer
或 Laravel 安裝程序兩種方法安裝 Laravel Jetstream 。
使用 Laravel 安裝程序安裝 Laravel Jetstream
如果您已經(jīng)有了最新版本的 Laravel 安裝程序,您只需使用 --jet
即可安裝新的laravel Jetstream項(xiàng)目:
laravel new project-name --jet
然后,像往常一樣,請確保運(yùn)行你的遷移:
php artisan migrate
使用 Composer 來安裝 Laravel Jetstream
如果你更喜歡使用 composer ,則需要像使用其他軟件包一樣在 Laravel 目錄中運(yùn)行以下命令:
composer require laravel/jetstream
注意:你需要安裝 Laravel 8。否則,以上命令將失敗。
然后,你需要運(yùn)行 artisan jetstream:install
并指定需使用的棧
- 如果你要 Livewire 和 Blade 一起使用,請運(yùn)行:
php artisan jetstream:install livewire
- 如果你要 Inertia 與 Vue 一起使用,請運(yùn)行:
php artisan jetstream:install inertia
你也可以添加 --teams
來啟用 Laravel Jetstream 組管理。
之后,執(zhí)行:
npm install && npm run dev
上面的命令將安裝所需的依賴以及構(gòu)建打包。
最后,請確保運(yùn)行你的遷移:
php artisan migrate
認(rèn)證方式
你的新 Jetstream 應(yīng)用程序提供以下功能開箱即用:
- 登錄表單
- 雙重驗(yàn)證
- 注冊表單
- 重置密碼
- 電子郵件驗(yàn)證
你可以在以下位置找到這些視圖文件:
resources/views/auth
后端邏輯由 Laravel Fortify 提供支持。
你可以在以下目錄中找到 Fortify 進(jìn)行操作:
app/Actions/Fortify/
你可以在以下目錄找到 Fortify 配置:
config/fortify.php
在 fortify.php
配置文件中,你可以進(jìn)行一些更改,例如啟用和禁用不同的功能,例如:
'features' => [ Features::registration(), Features::resetPasswords(), // Features::emailVerification(), Features::updateProfileInformation(), Features::updatePasswords(), Features::twoFactorAuthentication(), ],
個(gè)人資料管理
Jetstream 即開即用,提供了用戶個(gè)人資料管理功能,該功能允許用戶更新姓名,電子郵件地址和個(gè)人資料照片。
用戶個(gè)人資料視圖存儲(chǔ)在:
resources/views/profile/update-profile-information-form.blade.php
如果你使用的是 Inertia ,則可以在以下位置找到該視圖:
resources/js/Pages/Profile/UpdateProfileInformationForm.vue
以下文件處理用戶更新邏輯:
app/Actions/Fortify/UpdateUserProfileInformation.php
如果需要的話,你還可以通過以下位置的 Jetstream 配置文件禁用用戶個(gè)人資料圖片:
config/jetstream.php
只需要注釋掉 Features::profilePhotos()
這一行:
'features' => [ // Features::profilePhotos(), Features::api(), // Features::teams(), ],
Jetstream 安全管理
Laravel Jetstream 帶有允許用戶更新密碼并注銷的功能:
而且,讓人意想不到的是, Jetstream 還提供帶有二維碼的雙重身份驗(yàn)證,用戶可以直接啟動(dòng)和禁用:
另一個(gè)出色的功能是用戶可以注銷其他瀏覽器的 Session 會(huì)話。
Blade 的資源文件可以在以下位置找到:
resources/views/profile/
如果你使用的是 Inertia ,則可以在以下位置找到它們:
resources/js/Pages/Profile/
Jetstream API
Laravel Jetstream 使用了 Laravel Sanctum 來提供便捷的基于令牌的 API 。
使用 Sanctum ,每個(gè)用戶都可以生成具有特定權(quán)限的 API 令牌,例如創(chuàng)建,讀取,更新和刪除。
然后要檢查請求權(quán)限,可以使用以下的 tokenCan
方法:
$request->user()->tokenCan('read');
同樣,你可以在 config/jetstream.php
配置文件中禁用 API 支持。
Jetstream 組
如果你在 Jetstream 使用了 --team
,則你的網(wǎng)站支持組創(chuàng)建和管理。
使用 Jetstream 組功能,每個(gè)用戶都可以創(chuàng)建并屬于多個(gè)不同的組。
有關(guān) Jetstream 組的