In diesem Artikel werden Ihnen hauptsächlich die relevanten Informationen zur Implementierung der Front- und Backend-Anmeldung anhand des integrierten Auth-Moduls vorgestellt Ich hoffe, es kann allen helfen.
Die Methode ist wie folgt:
Schritt 1: Authentifizierung generieren
Nachdem das Projekt eingerichtet ist, generieren Sie die integrierte Authentifizierungskomponente:
php artisan make:auth
Schritt 2: Schutz hinzufügen
Configauth.php öffnen Um den Front-End- und Back-End-Benutzerwechsel zu erleichtern, teilt das Projekt die Benutzertabelle
'guards' => [ //... 'admin' => [ 'driver' => 'session', 'provider' => 'users', ], //... ],
Schritt 3: Implementieren Sie die Basisklasse
class AdminController extends BaseController { use AuthorizesRequests, DispatchesJobs, ValidatesRequests; public function __construct() { $this->middleware('auth:admin'); } }
Schritt 4: Hintergrund-Login-Controller implementieren
Neue appcontrollersAdminLoginController.php erstellen
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Auth; use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Http\Request; class LoginController extends Controller { /* |-------------------------------------------------------------------------- | Login Controller |-------------------------------------------------------------------------- | | This controller handles authenticating users for the application and | redirecting them to your home screen. The controller uses a trait | to conveniently provide its functionality to your applications. | */ use AuthenticatesUsers; /** * Where to redirect users after login. * * @var string */ protected $redirectTo = '/admin'; /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('guest:admin')->except('logout'); } /** * 重写登陆页面 * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function showLoginForm() { return view('backend.login'); } /** * 重写退出方法 * @param Request $request * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector */ public function logout(Request $request) { $this->guard()->logout(); $request->session()->flush(); $request->session()->regenerate(); return redirect('/admin/login'); } /** * 重写guard认证 * @return mixed */ protected function guard() { return Auth::guard('admin'); } }
Schritt 5: Nach der Anmeldung zu verschiedenen Pfaden springen
appMiddlewareRedirectIfAuthenticated.php
public function handle($request, Closure $next, $guard = null) { if (Auth::guard($guard)->check()) { $path = $guard ? '/admin' : '/home'; return redirect($path); } return $next($request); }
Schritt 6: Zu anderen Anmeldeseiten springen, wenn die Authentifizierung nicht bestanden wird
appExceptionsHandler.php
/** * 重写实现未认证用户跳转至相应登陆页 * @param \Illuminate\Http\Request $request * @param AuthenticationException $exception * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse */ protected function unauthenticated($request, AuthenticationException $exception) { if($request->expectsJson()){ return response()->json(['message' => $exception->getMessage()], 401); }else{ return in_array('admin', $exception->guards()) ? return redirect()->guest('/admin/login') : redirect()->guest('login'); } }
Verwandte Empfehlungen :
So rufen Sie das Front- und Backend mit Javascript auf. Zusammenfassung der Methodenbeispiele
Detaillierte Einführung in die automatische Paketerkennung in Laravel5.5
Laravel5.5 neue Funktionen, Fehlerberichterstattung und angezeigte Bilder und Texte Einführung
Das obige ist der detaillierte Inhalt vonLaravel 5.5 implementiert Front-End- und Back-End-Login. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!