Maison  >  Article  >  cadre php  >  modification de connexion à Laravel

modification de connexion à Laravel

王林
王林original
2023-05-20 15:18:39545parcourir

Laravel est un framework PHP open source très populaire et largement utilisé dans le développement d'applications Web. Parmi eux, la mise en œuvre de la fonction de connexion utilisateur est une exigence de base pour les applications Web. Dans cet article, nous verrons comment modifier la fonctionnalité de connexion dans une application Laravel pour répondre à des besoins spécifiques ou améliorer l'expérience utilisateur.

Modifier l'itinéraire

Tout d'abord, nous devons modifier l'itinéraire de connexion. Par défaut, la route de connexion pour les applications Laravel est /auth/login. Cependant, nous souhaiterons peut-être le remplacer par un chemin personnalisé. Dans Laravel, cela peut être réalisé en modifiant le fichier routes/web.php.

Voici un exemple pour modifier la route de connexion de /auth/login à /login :

Route::get('/login', 'AuthLoginController@showLoginForm')->name('login');
Route::post('/login', 'AuthLoginController@login');

Modifier la vue du formulaire de connexion

Suivant, Nous pouvons modifier la vue du formulaire de connexion pour répondre à des besoins spécifiques ou améliorer l'expérience utilisateur. Dans Laravel, la vue du formulaire de connexion est définie par le fichier resources/views/auth/login.blade.php.

Voici un exemple dans lequel nous avons ajouté une case à cocher "Se souvenir de moi" à un formulaire pour permettre à l'utilisateur de choisir de rester connecté :

<form method="POST" action="{{ route('login') }}">
    @csrf

    <div class="form-group">
        <label for="email">{{ __('E-Mail Address') }}</label>
        <input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>

        @error('email')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>

    <div class="form-group">
        <label for="password">{{ __('Password') }}</label>
        <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">

        @error('password')
            <span class="invalid-feedback" role="alert">
                <strong>{{ $message }}</strong>
            </span>
        @enderror
    </div>

    <div class="form-group form-check">
        <input type="checkbox" class="form-check-input" id="remember" name="remember">
        <label class="form-check-label" for="remember">{{ __('Remember Me') }}</label>
    </div>

    <button type="submit" class="btn btn-primary">{{ __('Login') }}</button>
</form>

Modifier enfin les contrôles de connexion , nous devons modifier le contrôleur de connexion pour répondre à la soumission du formulaire et effectuer des actions spécifiques. Dans Laravel, le contrôleur de connexion par défaut est app/Http/Controllers/Auth/LoginController.php.

Voici un exemple dans lequel nous avons ajouté une méthode redirectTo() pour rediriger automatiquement l'utilisateur vers une page spécifique après une connexion réussie :

<?php

namespace AppHttpControllersAuth;

use AppHttpControllersController;
use IlluminateFoundationAuthAuthenticatesUsers;

class LoginController extends Controller
{
    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = '/dashboard';

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

    /**
     * Get the post login redirect path.
     *
     * @return string
     */
    public function redirectTo()
    {
        if (auth()->user()->isAdmin()) {
            return '/admin/dashboard';
        }

        return '/dashboard';
    }
}

Dans l'exemple ci-dessus, redirectTo ( ) utilise la fonction d'assistance auth() pour vérifier le rôle de l'utilisateur, puis rediriger vers la page appropriée. Cela offre une plus grande flexibilité et évolutivité à la fonctionnalité de connexion de Laravel.

Résumé

Grâce à l'introduction de cet article, les lecteurs ont appris comment modifier la fonction de connexion dans les applications Laravel. Ce processus inclut la modification de l'itinéraire de connexion, la modification de la vue du formulaire de connexion et la modification du contrôleur de connexion. Ces améliorations peuvent améliorer l'expérience utilisateur et permettre une fonctionnalité de connexion personnalisée en fonction de besoins spécifiques. À mesure que les applications Laravel se développent et que les besoins des utilisateurs évoluent, davantage de modifications des fonctionnalités de connexion seront incluses ici.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:champs cachés laravelArticle suivant:champs cachés laravel