密码更新
密码更新
介绍
Laravel Jetstream 的安全功能是由用户使用右上角的用户个人资料导航下拉菜单访问的。在这个仪表板中, Jetstream 提供的视图允许用户更新帐户关联的密码
Actions
与 Jetstream 的大多数功能一样,实现功能的底层逻辑可以通过修改相应的 action 类来自定义。
App/Actions\Fortify\UpdateUserPassword
类将在用户更新密码时被调用。这个 action 负责验证输入并更新用户的密码。
这个 action 使用 App\Actions\Fortify\PasswordValidationRules
trait 来确定密码使用的验证规则。自定义这个 trait 将统一影响用户注册、重置或更新密码时,用于密码的验证规则。
密码验证规则
你可能已经注意到了,App\Actions\Fortify\PasswordValidationRules
trait 利用了一个自定义的 Laravel\FortifyRules\Password
验证规则对象。这个对象允许你轻松地定制你的应用程序的密码要求。默认情况下,该规则要求密码长度至少为 8 个字符。但是,你可以使用以下方法来自定义密码的要求:
use Laravel\Fortify\Rules\Password;
// 要求至少有10个字符...
(new Password)->length(10)
// 要求至少有一个大写字母...
(new Password)->requireUppercase()
// 要求至少有一个数字字符...
(new Password)->requireNumeric()
// 要求至少有一个特殊字符...
(new Password)->requireSpecialCharacter()
当然,这些方法可以链式调用,以定义你的应用程序的密码验证规则:
(new Password)->length(10)->requireSpecialCharacter()
Views / Pages
通常情况下,这些功能的视图和页面不应该需要定制,因为它们已经是完整的功能了。但是,以防你需要演示对这些页面进行小的调整,以下是它们的位置描述。
当使用Livewire 技术栈时,密码更新视图使用 resources/views/profile/updatepassword-form.blade.php
Blade模板来显示。当使用 Inertia 技术栈时,这个视图是使用 resources/js/Pages/Profile/UpdatePasswordForm.vue
模板显示。
推荐文章: