목차
Add a New SSH Key
PHP 프레임워크 Laravel Laravel 6.2의 사용자 로그인을 위한 새로운 비밀번호 확인 프로세스(코드 예)

Laravel 6.2의 사용자 로그인을 위한 새로운 비밀번호 확인 프로세스(코드 예)

Jan 30, 2020 pm 08:45 PM
laravel

Laravel 6.2의 사용자 로그인을 위한 새로운 비밀번호 확인 프로세스(코드 예)

Laravel은 로그인한 사용자가 경로에 액세스하기 전에 비밀번호를 다시 입력하도록 요구할 수 있는 새로운 비밀번호 확인 기능을 추가하는 v6.2를 출시했습니다.

이 기능은 민감한 작업을 수행할 때 나타나는 GitHub 확인 대화 상자와 유사합니다. Laravel에서 쉽게 설정할 수 있으므로 작동 방식을 더 잘 이해할 수 있도록 새로운 기능을 시험해 보겠습니다.

Setup

먼저, 이 새로운 기능을 보다 직관적으로 이해하기 위해 새로운 Laravel 애플리케이션을 만듭니다. :

laravel new confirm-app
cd confirm-app
composer require laravel/ui --dev
로그인 후 복사

아시다시피 Laravel 6에서는 make:auth 명령이 제거되었으며, 동일한 기능이 공식 확장 패키지 laravel/ui로 마이그레이션되었습니다. 새로운 명령을 사용하여 사용자 인증 관련 코드를 생성해 보겠습니다.

 php artisan ui vue --auth
 yarn install
 yarn dev
로그인 후 복사

다음으로, SQLite 데이터베이스를 구성합니다(물론 사용하려는 데이터베이스를 선택할 수 있습니다):

touch database/database.sqlite
로그인 후 복사

sqlite 드라이버를 사용할 때 Laravel에 필요한 기본 구성 파일을 생성했습니다. 하지만 여전히 필요한 구성 파일은 다음과 같습니다. .env 파일을 업데이트하여 데이터베이스 연결과 경로가 올바른지 확인하세요.

DB_CONNECTION=sqlite
# ...
# 使用 sqlite 驱动程序的默认路径
# DB_DATABASE=laravel
로그인 후 복사

다음으로 마이그레이션을 실행하고 테스트 사용자를 생성해 보겠습니다.

php artisan migrate
로그인 후 복사

Factory() 메서드를 통해 제어할 수 있습니다. 테스트 사용자:

 php artisan tinker
 >>> $user = factory(App\User::class)->create([
 ... 'password' => bcrypt('secret'),
 ... 'email' => 'admin@example.com'
 ... ]);
로그인 후 복사

컨트롤러 작성

SSH 키 추가와 같은 관리 작업을 보기 전에 사용자가 비밀번호를 다시 확인하도록 한다고 가정해 보겠습니다. 우리는 사용자가 구성된 기간(기본값은 3시간) 내에 비밀번호를 다시 입력하기를 원합니다.

가짜 /settings/ssh/create 경로를 생성합니다. 여기에는 사용자가 새 키를 생성하기 전에 새 비밀번호.confirm 미들웨어가 필요합니다.

php artisan make:controller Settings/SSHController
로그인 후 복사

다음으로 create() 메소드를 생성합니다. Controller:

 namespace App\Http\Controllers\Settings;
  
  use App\Http\Controllers\Controller;
  use Illuminate\Http\Request;
  
  class SSHController extends Controller
  {
  public function create()
  {
 return view('secret');
 }
 }
로그인 후 복사

비밀 템플릿을 스텁하여 보기 경로의 루트 디렉터리에 배치합니다 resources/views/secret.blade.php:

  @extends('layouts.app')
  @section('content')
  <div class="container">
  <div class="row justify-content-center">
  <div class="col-md-8">
  <h1 id="Add-nbsp-a-nbsp-New-nbsp-SSH-nbsp-Key">Add a New SSH Key</h1>
  <p>This page is only shown after password confirmation.</p>
  </div>
  </div>
 </div>
 @endsection
로그인 후 복사

Code의 코드에서는 auth/ 파일을 복사해야 합니다. ui/confirm.stub에서 복사할 파일을 가져올 수 있습니다. 이 파일을 복사하여 프로젝트에 추가하세요. 다음 경로는

resources/views/auth/passwords/confirm.blade.php
로그인 후 복사

다음으로 경로를 정의해야 합니다. , Routes/web.php 파일 끝에서 이 미들웨어의 필요성을 언급했습니다:

 Route::namespace(&#39;Settings&#39;)
 ->middleware([&#39;auth&#39;])
 ->group(function () {
 Route::get(&#39;/settings/ssh/create&#39;, &#39;SSHController@create&#39;)->middleware(&#39;password.confirm&#39;);
 });
로그인 후 복사

참고: 일반적으로 필요한 인증 미들웨어 ID를 모두 전달할 수 있습니다. 이 데모에서는 인증 경로가 함께 집계됩니다.

이를 사용하여 로그인하면 /home으로 리디렉션됩니다. 거기에서 /settings/ssh/create로 이동하면 비밀번호를 입력하라는 메시지가 표시됩니다.

Laravel 6.2의 사용자 로그인을 위한 새로운 비밀번호 확인 프로세스(코드 예)

이 튜토리얼을 따랐다면 secret 을 입력하고 양식을 제출한 후 생성 보기로 들어갑니다. 비밀번호를 확인하면 메시지를 표시하지 않고 이 페이지를 새로 고칠 수 있습니다.

새 ddd() 도우미 함수를 사용하여 SSHController::create() 메서드에 추가하면 다음 메시지가 표시될 때 이 메서드가 auth.password_confirmed_at의 세션 값을 결정합니다.

public function create()
 {
 ddd(session(&#39;auth&#39;));
 return view(&#39;secret&#39;);
 }
로그인 후 복사

Laravel 6.2의 사용자 로그인을 위한 새로운 비밀번호 확인 프로세스(코드 예)

비밀번호가 마지막으로 확인되었습니다. 기본적으로 사용자는 3시간 이내에 비밀번호를 다시 확인하라는 알림을 받지 않습니다. 물론 config('auth.password_timeout') 구성 항목을 수정하여 사용자 정의할 수 있습니다. (구성 항목은 Laravel의 config/auth.에 정의되어 있습니다.) v6.2.0.php 구성 파일).

laravel 프레임워크와 관련된 더 많은 기술 기사를 보려면 laravel 튜토리얼 칼럼을 방문하세요!

위 내용은 Laravel 6.2의 사용자 로그인을 위한 새로운 비밀번호 확인 프로세스(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Laravel에서 이메일 전송이 실패 할 때 반환 코드를 얻는 방법은 무엇입니까? Laravel에서 이메일 전송이 실패 할 때 반환 코드를 얻는 방법은 무엇입니까? Apr 01, 2025 pm 02:45 PM

Laravel 이메일 전송이 실패 할 때 반환 코드를 얻는 방법. Laravel을 사용하여 응용 프로그램을 개발할 때 종종 확인 코드를 보내야하는 상황이 발생합니다. 그리고 실제로 ...

laravel 일정 작업이 실행되지 않습니다 : 스케줄 후 작업이 실행되지 않으면 어떻게해야합니까? laravel 일정 작업이 실행되지 않습니다 : 스케줄 후 작업이 실행되지 않으면 어떻게해야합니까? Mar 31, 2025 pm 11:24 PM

laravel 일정 작업 실행 비 응답 문제 해결 Laravel의 일정 작업 일정을 사용할 때 많은 개발자 가이 문제에 직면합니다 : 스케줄 : 실행 ...

Laravel에서는 이메일로 확인 코드를 보내지 못하는 상황을 처리하는 방법은 무엇입니까? Laravel에서는 이메일로 확인 코드를 보내지 못하는 상황을 처리하는 방법은 무엇입니까? Mar 31, 2025 pm 11:48 PM

Laravel의 이메일을 처리하지 않는 방법은 LaRavel을 사용하는 것입니다.

DCAT 관리자에서 데이터를 추가하기 위해 클릭하는 사용자 정의 테이블 기능을 구현하는 방법은 무엇입니까? DCAT 관리자에서 데이터를 추가하기 위해 클릭하는 사용자 정의 테이블 기능을 구현하는 방법은 무엇입니까? Apr 01, 2025 am 07:09 AM

DCAT를 사용할 때 DCATADMIN (LARAVEL-ADMIN)에서 데이터를 추가하려면 사용자 정의의 테이블 기능을 구현하는 방법 ...

Laravel Redis Connection 공유 : 선택 메소드가 다른 연결에 영향을 미치는 이유는 무엇입니까? Laravel Redis Connection 공유 : 선택 메소드가 다른 연결에 영향을 미치는 이유는 무엇입니까? Apr 01, 2025 am 07:45 AM

Laravel 프레임 워크 및 Laravel 프레임 워크 및 Redis를 사용할 때 Redis 연결을 공유하는 데 영향을 줄 수 있습니다. 개발자는 문제가 발생할 수 있습니다. 구성을 통해 ...

Laravel 멀티 테넌트 확장 STANCL/TENANCY : 테넌트 데이터베이스 연결의 호스트 주소를 사용자 정의하는 방법은 무엇입니까? Laravel 멀티 테넌트 확장 STANCL/TENANCY : 테넌트 데이터베이스 연결의 호스트 주소를 사용자 정의하는 방법은 무엇입니까? Apr 01, 2025 am 09:09 AM

Laravel 다중 테넌트 확장 패키지 패키지 패키지 패키지 패키지 Stancl/Tenancy, ...

Bangla 부분 모델 검색의 Laravel Eloquent Orm) Bangla 부분 모델 검색의 Laravel Eloquent Orm) Apr 08, 2025 pm 02:06 PM

Laraveleloquent 모델 검색 : 데이터베이스 데이터를 쉽게 얻을 수 있습니다. 이 기사는 데이터베이스에서 데이터를 효율적으로 얻는 데 도움이되는 다양한 웅변 모델 검색 기술을 자세히 소개합니다. 1. 모든 기록을 얻으십시오. 모든 () 메소드를 사용하여 데이터베이스 테이블에서 모든 레코드를 가져옵니다. 이것은 컬렉션을 반환합니다. Foreach 루프 또는 기타 수집 방법을 사용하여 데이터에 액세스 할 수 있습니다 : Foreach ($ postas $ post) {echo $ post->

Laravel 's geospatial : 대화식지도의 최적화 및 많은 양의 데이터 Laravel 's geospatial : 대화식지도의 최적화 및 많은 양의 데이터 Apr 08, 2025 pm 12:24 PM

7 백만 레코드를 효율적으로 처리하고 지리 공간 기술로 대화식지도를 만듭니다. 이 기사는 Laravel과 MySQL을 사용하여 7 백만 개 이상의 레코드를 효율적으로 처리하고 대화식지도 시각화로 변환하는 방법을 살펴 봅니다. 초기 챌린지 프로젝트 요구 사항 : MySQL 데이터베이스에서 7 백만 레코드를 사용하여 귀중한 통찰력을 추출합니다. 많은 사람들이 먼저 프로그래밍 언어를 고려하지만 데이터베이스 자체를 무시합니다. 요구 사항을 충족시킬 수 있습니까? 데이터 마이그레이션 또는 구조 조정이 필요합니까? MySQL이 큰 데이터로드를 견딜 수 있습니까? 예비 분석 : 주요 필터 및 속성을 식별해야합니다. 분석 후, 몇 가지 속성만이 솔루션과 관련이 있음이 밝혀졌습니다. 필터의 타당성을 확인하고 검색을 최적화하기위한 제한 사항을 설정했습니다. 도시를 기반으로 한지도 검색

See all articles