Heim >Backend-Entwicklung >PHP-Tutorial >laravel5.2 realisiert die Methode zur Unterscheidung der vorderen und hinteren Benutzeranmeldung
1. Melden Sie sich an der Rezeption an
Verwenden Sie direkt Laravels eigene Authentifizierung
php artisan make:auth
Dann können Sie die Routing-Datei einsehen:
Route::group(['middleware' => 'web'], function () { Route::auth(); Route::get('/home', 'HomeController@index'); });
Führen Sie php artisan migrate
aus und Sie werden feststellen, dass zwei Tabellen generiert werden.
2. Hintergrundanmeldung
Konfigurationsdatei bearbeiten
configauth.php
Administrator in Guards und Admins in Provider hinzufügen
<?php return [ 'defaults' => [ 'guard' => 'web', 'passwords' => 'users', ], 'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'admin' => [ 'driver' => 'session', 'provider' => 'admins', ], 'api' => [ 'driver' => 'token', 'provider' => 'users', ], ], 'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\User::class, ], 'admins' => [ 'driver' => 'eloquent', 'model' => App\Admin::class, ], ], 'passwords' => [ 'users' => [ 'provider' => 'users', 'email' => 'auth.emails.password', 'table' => 'password_resets', 'expire' => 60, ], ], ];
3. Erstellen Sie das Datenmodell
Führen Sie php artisan make:model Admin --migration aus
und ändern Sie dann die Datenbankmigrationsdaten Tabellenstruktur, kopieren Sie einfach die Benutzertabelle
Führen Sie php artisan migrate aus und Sie werden feststellen, dass die Admin-Tabelle generiert wird
Definieren Sie die Hintergrundroute
I Definieren Sie es direkt hier. Erstellen Sie eine Routing-Gruppe
Route::group(['prefix' => 'admin' ,'middleware' => 'admin'], function () { Route::get('login', 'Admin\AuthController@getLogin'); Route::post('login', 'Admin\AuthController@postLogin'); Route::get('register', 'Admin\AuthController@getRegister'); Route::post('register', 'Admin\AuthController@postRegister'); Route::get('logout', 'Admin\AuthController@logout'); Route::get('/', 'Admin\AdminController@index'); });
5. Erstellen Sie einen Controller
und führen Sie
php artisan make:controller Admin/AuthController php artisan make:controller Admin/AdminController
AuthController.php kann auf AuthController.php in Auth verweisen
<?php namespace App\Http\Controllers\Admin; use App\Admin; use Validator; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\ThrottlesLogins; use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers; class AuthController extends Controller { use AuthenticatesAndRegistersUsers, ThrottlesLogins; protected $redirectTo = '/admin'; protected $guard = 'admin'; protected $loginView = 'admin.login'; protected $registerView = 'admin.register'; public function __construct() { $this->middleware('guest:admin', ['except' => 'logout']); } protected function validator(array $data) { return Validator::make($data, [ 'name' => 'required|max:255', 'email' => 'required|email|max:255|unique:admins', 'password' => 'required|confirmed|min:6', ]); } protected function create(array $data) { return Admin::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); } }
<?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; use Auth; class AdminController extends Controller { public function __construct() { $this->middleware('auth:admin'); } public function index() { $admin = Auth::guard('admin')->user(); return view('admin.home'); } }6. Erstellen Sie eine AnsichtKopieren Sie hier direkt die Ansicht und home.blade.php in Auth in einen neuen Admin-Ordner.
<ul class="nav navbar-nav navbar-right"> <!-- Authentication Links --> @if (Auth::guest('admin')) <li><a href="{{ url('/login') }}">Login</a></li> <li><a href="{{ url('/register') }}">Register</a></li> @else <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"> {{ Auth::guard('admin')->user()->name }} <span class="caret"></span> </a> <ul class="dropdown-menu" role="menu"> <li><a href="{{ url('/admin/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li> </ul> </li> @endif </ul>
Versuchen Sie nun, sich im Front- und Backend getrennt anzumelden! 7. Mögliche SeitensprungproblemeWenn diese Situation auftritt, können Sie versuchen, MiddlewareAuthenticate.php zu ändern
return redirect()->guest($guard.'/login');Das Obige ist Die Methode, die Ihnen der Herausgeber in laravel5.2 vorstellt, um die Unterscheidung zwischen vorderer und hinterer Benutzeranmeldung zu erkennen, wird Ihnen hoffentlich weiterhelfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht rechtzeitig. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der chinesischen PHP-Website bedanken! Weitere verwandte Artikel zur Methode von laravel5.2 zur Unterscheidung zwischen vorderen und hinteren Benutzeranmeldungen finden Sie auf der chinesischen PHP-Website!