web-dev-qa-db-fra.com

Comment changer la valeur par défaut Laravel Vue de connexion d'authentification

J'essaie de changer la vue de connexion par défaut, de Laravel Auth. Les suggestions précédentes indiquent la modification du chemin à l'intérieur du contrôleur correspondant, sous/vendor. Cependant, il s'agit d'un projet coopératif, donc la modification des fichiers du fournisseur n'est pas une option.

Par défaut, la vue pour la connexion d'authentification est auth.login, mais je veux que ce soit backend.pages.login.

De quelle autre manière puis-je accomplir cela?

J'ai également essayé d'ajouter manuellement les itinéraires de vue dans le routeur, mais il ne reconnaîtra pas Auth en tant que classe, peu importe comment je le connecte.

Remarque: c'est Laravel 5.3

Merci d'avance

11
StevenThelin

Dans App\Http\Controllers\Auth\LoginController Définissez une fonction nommée showLoginForm() comme:

public function showLoginForm()
{
    return view('custom.login');
}

Il remplace la fonction showLoginForm définie dans le trait Illuminate\Foundation\Auth\AuthenticatesUsers.

Note: Dans Laravel 5.3 le nom de la fonction est changé de getLogin à showLoginForm.

33
Amit Gupta

Ajoutez les lignes ci-dessous dans routes/web.php

Route::get('/', function () {
    return view('auth.login');
});
0
Prajakta Pawar

dans votre trait AuthenticatesUsers, remplacez cette méthode:

public function showLoginForm()
{
    return view('login');
}
0
Md. Abu Taleb

Comme la question a déjà été répondue, je vais donner le même exemple pour la version actuelle de Laravel.

Si vous êtes sur Laravel 5.6 et plus, cette fonctionnalité doit être mise en

app/Http/Controllers/Auth/LoginController.php

public function showLoginForm()
{
    return view('custom.login');
}

De plus, si vous souhaitez ajouter un paramètre à cela, vous pouvez le faire si vous le spécifiez dans votre itinéraire Web comme ceci:

Route::get('login/{page?}', 'Auth\LoginController@showLoginForm')->name('login');

Ensuite, vous pouvez faire quelque chose comme ceci:

public function showLoginForm($page = null)
{
    if(isset($page)){
        // do something
        // example: return view('auth.login', compact('page'));
    }
    return view('auth.login');
}

Astuce: si vous n'avez pas le LoginController dans votre projet, assurez-vous d'exécuter

php artisan make:auth
0
A. Dady