Laravel Jetstream是什么以及如何入门?
介绍
Laravel Jetstream
与 Laravel 8 一起于2020年9月8日发布。
Laravel Jetstream 是 Laravel 新的应用程序支架。Laravel Jetstream取代了旧版Laravel中可用的Laravel认证UI。
在本教程中,我将向你快速介绍什么是Laravel Jetstream以及如何开始使用它。
准备
如果你想继续学习,你将需要一个LEMP
服务器以及composer
或最新的Laravel installer
安装。
Laravel Jetstream是什么
Jetstream为你的新项目提供了一个更好的起点。它包括以下组件:
- 登录与注册功能
- 邮箱验证
- 双重认证
- 会话管理
- 通过
Laravel Sanctum
提供API支持
Laravel Jetstream取代了旧版Laravel中可用的Laravel认证UI。
Jetstream使用Tailwind CSS
,你可以在Livewire
或Inertia
之间进行选择。
安装 Laravel Jetstream
可以有2中方式来安装Laravel Jetstream,一种使用composer
安装,一种使用 Laravel installer
安装。
1. Laravel installer 安装
如果你已经安装最新版的 Laravel installer ,则只需要使用 --jet
参数即可安装 Laravel Jetstream
项目:
laravel new project-name --jet
之后,跟旧版一样,请确保运行迁移命令:
php artisan migrate
2. 使用 Composer 安装
如果你更习惯用 composer
来安装程序包,则需要在项目根目录中像以往安装程序包一样,运行一下命令:
composer require laravel/jetstream
注意:需要确保安装的是Larave 8。否则,以上命令将失败。
之后,需要运行 artisan jetstream:install
并指定要使用的开发前端使用的堆栈:
- 如果想将
Livewire
和Blade
结合使用,则运行以下命令:
php artisan jetstream:install livewire
- 如果想将
Inertia
与Vue
结合使用,则运行以下命令:
php artisan jetstream:install inertia
以上命令,也可以添加 --teams
参数来启用 Laravel Jetstream团队支持。
之后,执行:
npm install && npm run dev
上面的命令将会构建前端资源。
最后,请确保运行迁移命令
php artisan migrate
认证(Authentication)
Laravel Jetstream 可以开箱即用的功能:
- 登录表单
- 双重认证
- 注册表单
- 密码重置
- 邮箱验证 以上的视图文件都位于:
resources/views/auth
后端逻辑部分则由Laravel Fortify提供支持。
可以找到 Fortify
逻辑控制文件位于以下位置:
app/Actions/Fortify
并且 可以找到 Fortify
的配置信息文件:
config/fortify.php
在 fortify.php
配置文件中,你可以进行一些更改,例如启用和禁用不同的功能,例如:
'features' => [
Features::registration(),
Features::resetPasswords(),
// Features::emailVerification(),
Features::updateProfileInformation(),
Features::updatePasswords(),
Features::twoFactorAuthentication(),
],
个人资料管理(Profile management)
Jetstream即开即用,为你和你的用户提供用户个人资料管理功能,该功能允许用户更新其姓名,电子邮件地址和个人资料照片。
用户个人资料视图存储在:
resources/views/profile/update-profile-information-form.blade.php
如果你使用的是Inertia
,则可以在以下位置找到该视图:
resources/js/Pages/Profile/UpdateProfileInformationForm.vue
以下文件处理用户更新逻辑:
app/Actions/Fortify/UpdateUserProfileInformation.php
如果需要,您还可以通过以下位置的Jetstream配置文件禁用用户个人资料图片:
config/jetstream.php
只需注释掉这一行 Features::profilePhotos()
:
'features' => [
// Features::profilePhotos(),
Features::api(),
// Features::teams(),
],
Laravel Jetstream 安全(Security)
Laravel Jetstream带有允许用户更新密码并注销的标准功能。
但是,更令人印象深刻的是,Jetstream还提供带有QR码的双重身份验证,用户可以直接启用和禁用。
另一个出色的安全功能是用户也可以注销其他浏览器会话。这个在个人资料页中可以找的到:
resources/views/profile/
如果你使用的是Inertia,则可以在以下位置找到它们:
resources/js/Pages/Profile/
Jetstream API
Laravel Jetstream
使用Laravel Sanctum提供简单的基于令牌的API。
使用Sanctum
,每个用户都可以生成具有特定权限的API令牌,例如创建,读取,更新和删除。
然后,可以使用以下tokenCan
方法检查传入的请求:
$request->user()->tokenCan('read');
同样,你可以在 config/jetstream.php
配置文件中禁用API支持。
Jetstream团队
如果你 在Jetstream安装过程中使用了 --team
参数,则你的网站将支持团队的创建和管理。
使用Jetstream
团队功能,每个用户都可以创建并属于多个不同的团队。
有关Jetstream团队的更多信息,您可以在此处查看官方文档。
结论
Laravel Jetstream在启动新项目时为您提供了一个很好的起点!
我还建议在这里阅读有关Laravel 8的新功能的文章!
- 4.微信支付
- 【8】数据浏览表格的快速输出
- Silverlight的自定义tooltip提示工具条
- WritableBitmapEx 一瞥
- 2.认证小程序
- 【9】分页浏览的管理
- 温故而知新:silverlight中的图片资源绑定
- 页面状态保持机制(编辑中)
- mysql主从同步(5)-同步延迟状态考量(seconds_behind_master和pt-heartbea)
- ngx_pagespeed-nginx前端优化模块介绍
- Tomcat利用MSM实现Session共享方案解说
- Tomcat集群环境下session共享方案梳理(1)-通过memcached(MSM)方法实现
- nginx负载均衡(5种方式)、rewrite重写规则及多server反代配置梳理
- python常用知识梳理
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- nagios监控安装部署
- Linux内核调优
- pyhon smtplib库 实现插入图片邮件发送
- mysql insert or update与UQ索引
- 矿机排查实战
- SpringBoot 整合 SpringDataRedis
- SpringDataRedis 基本使用
- Spring Security 基础入门
- Spring Security 安全认证
- Spring Security 自定义登录页
- CAS 服务端部署
- Spring Security 权限控制
- vue动态组件的用法
- elementUI中checekBox实现全选和反选以及实现在input中输入空格出现label分割
- centos 安装git