Laravel - Autenticazione
L'autenticazione è il processo di identificazione delle credenziali dell'utente. Nelle applicazioni web, l'autenticazione è gestita da sessioni che prendono i parametri di input come email o username e password, per l'identificazione dell'utente. Se questi parametri corrispondono, si dice che l'utente è autenticato.
Comando
Laravel utilizza il seguente comando per creare moduli e i controller associati per eseguire l'autenticazione:
php artisan make:auth
Questo comando aiuta a creare correttamente lo scaffolding di autenticazione, come mostrato nello screenshot seguente:
Controller
Il controller utilizzato per il processo di autenticazione è HomeController.
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use Illuminate\Http\Request;
class HomeController extends Controller{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct() {
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index() {
return view('home');
}
}
Di conseguenza, l'applicazione scaffold generata crea la pagina di accesso e la pagina di registrazione per eseguire l'autenticazione. Sono come mostrato di seguito -
Accesso
Registrazione
Autenticazione manuale degli utenti
Laravel utilizza l'estensione Authfacciata che aiuta ad autenticare manualmente gli utenti. Include il fileattempt metodo per verificare la propria email e password.
Considera le seguenti righe di codice per LoginController che include tutte le funzioni per l'autenticazione -
<?php
// Authentication mechanism
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller{
/**
* Handling authentication request
*
* @return Response
*/
public function authenticate() {
if (Auth::attempt(['email' => $email, 'password' => $password])) {
// Authentication passed...
return redirect()->intended('dashboard');
}
}
}