本文转自专业的Laravel开发者社区,原文链接:https://learnku.com/laravel/t...Laravel昨天发布了v6.2版本,它添加了一个新的密码确认功能,允许您要求登录用户在访问路由之前重新输入密码。此功能类似于执行敏感操作时的GitHub确认对话框。您可以在Laravel中轻松设置它,所以让我们尝试一下新功能,这样您就可以更好地了解它是如何工作的:设置首先,为了更好地感受这个新功能,让我们创建一个新的Laravel应用程序:laravelnewconfirm-appcdconfirm-appcomposerrequirelaravel/ui--dev如你所知,make:auth命令在Laravel6中被移除,同样的功能已经迁移到官方扩展包laravel/ui中。让我们使用新命令生成用户认证相关的代码:phpartisanuivue--authyarninstallyarndev接下来我们配置SQLite数据库(当然你可以选择你要使用的数据库):touchdatabase/database.sqlite我们已经创建了Laravel并正在使用sqlite驱动所需的默认配置文件,但是您仍然需要更新.env文件以确保数据库连接和路径正确:DB_CONNECTION=sqlite#...#使用默认路径对于sqlite驱动程序#DB_DATABASE=laravel接下来,让我们运行迁移,然后创建一个测试用户:phpartisanmigrate我们可以通过factory()方法在控制台中创建一个测试用户:phpartisantinker>>>$user=factory(App\User::class)->create([...'password'=>bcrypt('secret'),...'email'=>'admin@example.com'...]);编写控制器假设您希望用户在管理操作(例如密钥)之前查看诸如添加SSHRevalidate其密码之类的内容。我们希望用户在配置的窗口(默认为三小时)内重新输入密码。我们将创建一个假的/settings/ssh/create路由,我们需要新的密码。在用户创建新密钥之前确认中间件:phpartisanmake:controllerSettings/SSHController接下来,在这个控制器中创建方法create():命名空间App\Http\Controllers\Settings;使用App\Http\Controllers\Controller;使用Illuminate\Http\Request;classSSHControllerextendsController{publicfunctioncreate(){returnview('secret');我们将存根秘密模板并将其放在视图路径的根目录中resources/views/secret.blade.php:@extends('layouts.app')@section('content') 此页面仅在密码确认后显示.添加新的SSH密钥