Laravel 6.2'de Oturum Açmış Kullanıcılar İçin Yeni Parola Doğrulama Sistemi

Yeni bir şifre onayı özelliği ile hassas eylemler gerçekleştirdiğinizde GitHub onay ekranı gibi çalışır. Ayarlamak Laravel'de nasıl döndüğünüzü görebilmeniz için yeni özelliği ele alalım:

Kurulumu

Öncelikle, çalışacak yeni bir Laravel uygulaması oluşturalım, böylece bu yeni özelliğin nasıl çalıştığını görselleştirebilirsiniz:

laravel new confirm-appcd confirm-appcomposer require laravel/ui --dev
 Uygulamamız için yetki kodunu oluşturalım:
php artisan ui vue --authyarn installyarn dev

Daha sonra bir SQLite veritabanını yapılandıralım (ama siz istediğiniz veri tabanı bağlantısını kullanabilirsiniz):
touch database/database.sqlite 

Veri tabanı bağlantısını kullanırken Laravel'in varsayılan olarak arayacağı dosyayı oluşturduk sqlite, ancak .envdosyayı doğru bağlantı ve veritabanı yoluyla güncellemeniz gerekecek :
DB_CONNECTION=sqlite# ...# Use the default path of the sqlite driver# DB_DATABASE=laravel
 Sonra bir test kullanıcısı oluşturalım:
php artisan migrate
Konsolla bir test kullanıcısı oluşturabiliriz factory():
php artisan tinker>>> $user = factory(App\User::class)->create([... 'password' => bcrypt('secret'),... 'email' => 'admin@example.com'... ]);

Denetleyicileri Yazalım

Bir SSH anahtarı eklemek gibi bir yönetim eylemini görüntülemeden önce kullanıcıların şifrelerini yeniden doğrulamalarını istediğinizi varsayalım. Kullanıcının yapılandırılan pencerede şifresini tekrar girmesini isteriz (varsayılan 3 saattir).

Kullanıcı yeni bir anahtar oluşturmadan önce /settings/ssh/createyeni password.confirm middleware yazılımını için bir rota oluşturacağız:

php artisan make:controller Settings/SSHController
Ardından, denetleyici eylemini oluşturun
namespaceApp\Http\Controllers\Settings;useApp\Http\Controllers\Controller;useIlluminate\Http\Request;classSSHControllerextendsController{ publicfunctioncreate(){ return view('secret'); }}
resources/views/secret.blade.php açıyoruz:
@extends('layouts.app')@section('content') <divclass="container"><divclass="row justify-content-center"><divclass="col-md-8"><h1>Add a New SSH Key</h1><p>This page is only shown after password confirmation.</p></div></div></div>@endsection
Yazma sırasında auth/passwords/confirm.blade.php dosyasını projenize kopyalamanız gerekir Buradan alabilirsiniz: ui / confirm.stub . Bu dosyayı kopyalayın ve aşağıdaki şekilde projenize ekleyin:
resources/views/auth/passwords/confirm.blade.php
Daha sonra, routes/web.php dosyasını tanımlamanız için ihtiyaç duyacağımız middleware yazılımı ile birlikte rotayı tanımlamamız gerekir :
Route::namespace('Settings') ->middleware(['auth']) ->group(function(){ Route::get('/settings/ssh/create', 'SSHController@create')->middleware('password.confirm'); });
Bunun ile bir kez giriş yaptığınızda home sayfasına yönlendirileceksiniz ve ardından şifrenizi girmeniz isteniz :

Bunun ile birlikte takip ettiyseniz secret, formundan sonra  create görünüme yönlendirilirsiniz. Şifreyi onayladıktan sonra sorulmadan bu sayfayı yenileyebilirsiniz.

New ddd () Helper'ı kullanarak, bir sonraki seferde istenecek SSHController::create()olan auth.password_confirmed_atoturum değerini görselleştirmek için bu yöntemi kendi yönteminize ekleyin :

publicfunctioncreate(){ ddd(session('auth')); return view('secret');}


 Sürüm v6.2.0'da config('auth.password_timeout') yer alan değerle şifreyi tekrar onaylaması ne kadar süre önce kontrol edebilirsiniz .config/auth.php

  Alıntı Yap

KARABAY A, 2021 . Laravel 6.2'de Oturum Açmış Kullanıcılar İçin Yeni Parola Doğrulama Sistemi,

https://karabayyazilim.com/blog/php/framework/laravel/laravel-62de-oturum-acmis-kullanicilar-icin-yeni-parola-dogrulama-sistemi-2020-05-31-185401

(Erişim Tarihi : 15 Ekim 2019).


  Bu yazıyı paylaş

Yorumlar (0)

Yorum Yap

Abone Ol
Blog yazılarımdan ilk siz haberdar olmak için email bültenine kaydolun