Heim  >  Artikel  >  PHP-Framework  >  So melden Sie sich mit Laravel an und springen

So melden Sie sich mit Laravel an und springen

PHPz
PHPzOriginal
2023-04-19 10:07:50643Durchsuche

Laravel ist ein beliebtes PHP-Entwicklungsframework. Es ist leicht zu erlernen, effizient in der Entwicklung, sicher und stabil und wird von vielen Entwicklern geliebt. In Laravel sind Anmeldung und Sprung sehr häufige Vorgänge, und wir können diese Funktionen einfach implementieren.

Die Anmeldefunktion ist eine der wesentlichen Funktionen der Website, die Benutzern einen privaten Bereich und eine höhere Zugriffsebene bieten kann. In Laravel können wir die Anmeldefunktion einfach implementieren. Hier erfahren Sie, wie Sie mit Laravel Login und Jump implementieren.

  1. Benutzerauthentifizierungssystem erstellen

Zuerst müssen wir ein Benutzerauthentifizierungssystem erstellen. Laravel hat uns ein vorgefertigtes Authentifizierungssystem zur Verfügung gestellt. Wir müssen nur den folgenden Befehl ausführen:

php artisan make:auth

Dieser Befehl generiert automatisch Anmeldung, Registrierung, vergessenes Passwort und andere Funktionen sowie entsprechende Ansichten und Verantwortlicher für unsere Nutzung.

  1. Anmeldeansicht erstellen

Als nächstes müssen wir eine Ansicht für die Anmeldung erstellen. Wir können Blade, die von Laravel bereitgestellte Template-Engine, verwenden, um Ansichten zu erstellen. Erstellen Sie eine login.blade.php-Datei im Ordner resources/views/auth. Der Code lautet wie folgt:

@extends('layouts.app')

@section('content')

<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card">
                <div class="card-header">{{ __('Login') }}</div>

                <div class="card-body">
                    <form method="POST" action="{{ route(&#39;login&#39;) }}">
                        @csrf

                        <div class="form-group row">
                            <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>

                            <div class="col-md-6">
                                <input id="email" type="email" class="form-control @error(&#39;email&#39;) is-invalid @enderror" name="email" value="{{ old(&#39;email&#39;) }}" required autocomplete="email" autofocus>

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

                        <div class="form-group row">
                            <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>

                            <div class="col-md-6">
                                <input id="password" type="password" class="form-control @error(&#39;password&#39;) is-invalid @enderror" name="password" required autocomplete="current-password">

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

                        <div class="form-group row">
                            <div class="col-md-6 offset-md-4">
                                <div class="form-check">
                                    <input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old(&#39;remember&#39;) ? &#39;checked&#39; : &#39;&#39; }}>

                                    <label class="form-check-label" for="remember">
                                        {{ __('Remember Me') }}
                                    </label>
                                </div>
                            </div>
                        </div>

                        <div class="form-group row mb-0">
                            <div class="col-md-8 offset-md-4">
                                <button type="submit" class="btn btn-primary">
                                    {{ __('Login') }}
                                </button>

                                @if (Route::has('password.request'))
                                    <a href="{{ route(&#39;password.request&#39;) }}">
                                        {{ __('Forgot Your Password?') }}
                                    </a>
                                @endif
                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

In dieser Ansicht verwenden wir den Bootstrap-Stil und die von Laravel bereitgestellten Generate-Funktionen Formulare generieren. Darüber hinaus haben wir dem Formular auch die @csrf-Direktive hinzugefügt, um Cross-Site-Request-Forgery-Angriffe (CSRF) zu verhindern.

  1. Verarbeitung von Anmeldeanfragen

Nachdem das Anmeldeformular erstellt wurde, müssen wir auch die Anmeldeanfrage verarbeiten. Wir können die von Laravel in der AuthLoginController-Klasse bereitgestellte Methode „authenticate()“ verwenden, um die Authentifizierungsinformationen des Benutzers zu überprüfen. Wenn die Überprüfung erfolgreich ist, können wir über die Redirect()-Methode von Laravel springen.

Der Code lautet wie folgt:

public function authenticate(Request $request)
{
    $credentials = $request->only('email', 'password');

    if (Auth::attempt($credentials)) {
        // 认证通过,跳转到指定页面
        return redirect()->intended('dashboard');
    }
    else {
        // 认证失败,跳转到登录页面
        return redirect()->route('login')->with('error', 'Invalid credentials');
    }
}

In diesem Code verwenden wir die Methode Auth::attempt(), um die Eingabe des Benutzers zu überprüfen.

Wenn die Überprüfung erfolgreich ist, können wir zum Springen die intendierte() Methode von Laravel verwenden. Diese Methode springt automatisch zu der Seite, auf die der Benutzer zugreifen möchte. Wenn der Benutzer dies nicht angibt, wird standardmäßig zur Seite „Dashboard“ gesprungen.

Wenn die Authentifizierung fehlschlägt, verwenden Sie die Redirect()-Methode von Laravel, um den Benutzer zur Anmeldeseite umzuleiten und beim Springen eine Fehlermeldung zu übergeben.

  1. Zur angegebenen Seite springen

In Laravel können wir die Redirect-Klasse und die URL-Klasse in Laravel zum Springen verwenden. Wenn wir auf eine Route umleiten möchten, können wir die Redirect()-Methode von Laravel verwenden. Wenn wir zu einer URL umleiten möchten, können wir die URL::to()-Methode von Laravel verwenden.

Das Codebeispiel lautet wie folgt:

// 重定向到路由
return redirect()->route('dashboard');

// 重定向到URL
return redirect(URL::to('/dashboard'));

Bitte denken Sie während dieses Vorgangs daran, dass Sie die oben genannte Sprungmethode im Controller oder in der Routing-Datei verwenden können, um zu „Korrigieren“ zu springen Seite.

Fazit

Laravel ist ein leistungsstarkes und benutzerfreundliches PHP-Framework, das viele Tools und Funktionen zur Vereinfachung der Webentwicklung bereitstellt. In diesem Artikel zeigen wir Ihnen, wie Sie den Prozess der Benutzeranmeldung und des Sprungs zu einer bestimmten Seite in Laravel implementieren.

Wir haben zuerst ein Benutzerauthentifizierungssystem erstellt, dann das Anmeldeformular erstellt, die Anmeldeanforderung verarbeitet und die Redirect-Klasse und die URL-Klasse verwendet, um zum Code zu springen. Diese Technologien und Methoden können Entwicklern dabei helfen, schnell leistungsstarke Anmelde- und Sprungfunktionen zu implementieren.

Gleichzeitig ist es erwähnenswert, dass Sicherheit und Stabilität immer ein sehr wichtiges Thema sind. Wir müssen sicherstellen, dass die Codebasis streng getestet wird und den neuesten Sicherheitsstandards entspricht, um die Stabilität aufrechtzuerhalten und Sicherheit des Systems.

Das obige ist der detaillierte Inhalt vonSo melden Sie sich mit Laravel an und springen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn